๐ง Express-generator ๊ตฌ์กฐ
bin/www
: ํฌํธ ๋ฒํธ ๋ฑ๊ณผ ๊ฐ์ ์น ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋๋ฐ์ ํ์ํ ์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์๋์ด ์๋ ํ์ผ
⇒ .env ํ์ผ๊ณผ ๊ฐ์ด ์ค์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ฌ ์ฒ๋ฆฌ, ๊ธฐํ ์ถ๊ฐ ์ค์ ์ ํด์ฃผ๋ ํ์ผ
node_modules
: Node.js, Express์ ํ์ํ ๋ชจ๋์ด ์ค์น๋๋ ํด๋
public
: images, javascripts, stylesheets → ์ ์ (ex. ๋ก๊ณ , ํ์ฌ ์๊ฐ ํ์ด์ง … ) ํ์ผ
cf. ๋์ : ์ฌ๋๋ง๋ค ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๋ฟ๋ ค์ฃผ๋ ํ์ผ
โ๏ธ ํ๋ก ํธ ์์ญ
routes
: ๊ฐ ๊ฒฝ๋ก๋ฅผ ๋ด๋นํ๋ ๋ชจ๋๋ค์ด ๋ค์ด์๋ ํด๋
= ๋ผ์ฐํ ๋ก์ง์ ๊ตฌํํ๋ ๋ชจ๋๋ค
: ํด๋ผ์ด์ธํธ์์ ์ด๋ค ์์ฒญ์ ์ฃผ๋์ ๋ฐ๋ผ์ ์ด๋ค ๋ก์ง์ ์ํํ ์ง ํ์ผ๋ณ๋ก ๋ถํ ํด์ ๊ด๋ฆฌํ๋ ์ ๋
cf. ์๋ฐ์ controller ์ญํ
views
: ํด๋ผ์ด์ธํธ์๊ฒ html ์ฝ๋๋ก “ํ๋ฉด์ ๋ณด๋ด๋ ํ์ผ”
โ๏ธ ํ๋ก ํธ ์์ญ
app.js
: Express ์๋ฒ์ ์์์ → URL์ ๋ฐ๋ผ์ ๋ผ์ฐํ ์ ํด์ค
package.json
: ์ด ํ๋ก์ ํธ์ ์ค์น๋ ๋ชจ๋, ๋ฒ์ ๋ฑ๋ฑ ์ ๋ณด๋ค์ด ์์ฑ๋์ด ์๋ ํ์ผ
๐ ๋์ ์์ API ๊ตฌํ
1. ์ ํ๋ก์ ํธ ์์ฑ
2. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
3. app.js
// express ๋ชจ๋
const express = require('express');
const app = express();
// dotenv ๋ชจ๋
const dotenv = require('dotenv');
dotenv.config();
app.listen(process.env.PORT);
4. ๊ฐ API ๊ธฐ๋ณธ ๋ชจ๋ํ
const express = require('express');
const router = express.Router();
router.use(express.json());
// api ์ฝ๋๋ค ...
module.exports = router;
5. app.js์์ ๋ผ์ฐํ ์์
const userRouter = require('./routes/users');
const bookRouter = require('./routes/books');
const likeRouter = require('./routes/likes');
const cartRouter = require('./routes/carts');
const orderRouter = require('./routes/orders');
app.use("/users", userRouter);
app.use("/books", bookRouter);
app.use("/likes", likeRouter);
app.use("/carts", cartRouter);
app.use("/orders", orderRouter);
6. DB Diagram
7. MySQL Workbench ์ธํ
- ์คํค๋ง ์์ฑ
- ํ ์ด๋ธ ์์ฑ
'๐๏ธ DevCourse > Backend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] Week 8 ๋์ API (1) | 2025.03.13 |
---|---|
[TIL] Week 8 ์ปจํธ๋กค๋ฌ & ๋น๋ฐ๋ฒํธ ์ํธํ (1) | 2025.03.12 |
[TIL] Week 7 ํ๋ก์ ํธ ๊ด๋ฆฌ ์๋ฃจ์ ๋ณ ํน์ง (2) | 2025.03.10 |
[TIL] Week 7 ํ๋ก์ ํธ 2. ๋์ ํ๋งค ์ฌ์ดํธ API ์ค๊ณ (1) | 2025.03.06 |
[TIL] Week 6 ์ ํจ์ฑ ๊ฒ์ฌ์ JWT (0) | 2025.03.01 |