π©π» λ°±μλ(Back-End)/Node js
[Login & Register authentication with Node js] (3) λ‘κ·ΈμΈ & νμκ°μ νμ΄μ§ μμκ² λ³κ²½νκΈ°
μ§μ§μνμΉ΄
2023. 3. 15. 00:57
728x90
λ°μν
<λ³Έ λΈλ‘κ·Έλ Traversy Media μ μ νλΈλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€ :-)>
=> Node.js With Passport Authentication | Full Project
=> authentication app with login, register and access control using Node.js, Express, Passport, Mongoose
λ°λΌνλ€κ° bootstrap μ μ μ©λΌμ μ λΆμ κΉνλΈ μ°Έκ³ ν¨..
π₯ λ‘κ·ΈμΈ & νμκ°μ νμ΄μ§ μμκ² λ³κ²½νκΈ°

const express = require("express");
const expressLayouts = require("express-ejs-layouts");
const app = express();
// ejs λ―Έλ€μ¨μ΄
app.use(expressLayouts);
// express μ view μμ§μ ejs λ‘ μΈν
app.set("view engine", "ejs");
// img
app.use(express.static('public'));
// Routes
app.use("/", require("./routes/index"));
app.use("/users", require("./routes/user"));
const PORT = process.env.PORT || 8000;
app.listen(PORT, console.log(`πServer started on port http://localhost:${PORT}`));
π§ views/layout.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css"
integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<link rel="stylesheet" href="https://bootswatch.com/4/journal/bootstrap.min.css" />
<title>Node.js λ‘ λ‘κ·ΈμΈ λ° νμκ°μ
</title>
</head>
<body>
<div class="container">
<%- body %>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"
integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k"
crossorigin="anonymous"></script>
</body>
</html>
π§ views/welcome.ejs
<div class="row mt-5">
<div class="col-md-6 m-auto">
<div class="card card-body text-center">
<!-- app.js μμ express.static λ―Έλ€μ¨μ΄ ν¨μμ μ λ¬νλ©΄ νμΌμ μ§μ μ μΈ μ 곡μ μμ -->
<center><img src="/images/alpaca.jpg" width="100px" height="100px"></center>
<p style="margin-top: 16px;">λ‘κ·ΈμΈ & νμκ°μ
</p>
<a href="/users/register" class="btn btn-primary btn-block mb-2">Register</a>
<a href="/users/login" class="btn btn-secondary btn-block">Login</a>
</div>
</div>
</div>
728x90
λ°μν