[C/F TIL] 39일차 - 나만의 아고라 스테이츠 서버 만들기

mu-eng·2023년 6월 7일
1

TIL (in boost camp)

목록 보기
38/53
post-thumbnail

Code States
Front-end boost camp
Today
I
Learned

🐰 39일차!


🐰 solo - 아고라 스테이츠 서버 만들기

  • Index.js
const { agoraStatesDiscussions } = require("../repository/discussions");
const discussionsData = agoraStatesDiscussions;

const discussionsController = {
  findAll: (req, res) => {
    // TODO: 모든 discussions 목록을 응답합니다.
    res.status(200).send(discussionsData)
  },

  findById: (req, res) => {
    // TODO: 요청으로 들어온 id와 일치하는 discussion을 응답합니다.
    const { id } = req.params;
    const foundDiscussion = discussionsData.find(
      (discussion) => discussion.id === Number(id)
    );
    if (foundDiscussion === undefined) {
      res.status(404).send('Not Found');
    }
    res.status(200).send(foundDiscussion)
  }

};

module.exports = {
  discussionsController,
};
  • router - discussions.js
// TODO: discussions 라우터를 완성합니다.
const { discussionsController } = require('../controller');
const { findAll, findById } = discussionsController;
const express = require('express');
const router = express.Router();

// TODO: 모든 discussions 목록을 조회하는 라우터를 작성합니다.
router.get('/', findAll);

// TODO: :id에 맞는 discussion을 조회하는 라우터를 작성합니다.
router.get('/:id', findById);

module.exports = router;
  • app.js
const express = require('express');
const app = express();

const cors = require('cors');
const morgan = require('morgan');

// morgan 미들웨어가 세팅되어 있습니다.
// HTTP 요청 logger를 편리하게 사용할 수 있는 미들웨어 입니다.
app.use(morgan('tiny'));

// TODO: cors를 적용합니다.
app.use(cors());

// TODO: Express 내장 미들웨어인 express.json()을 적용합니다.
app.use(express.json());


const port = 4000;
const discussionsRouter = require('./router/discussions');

// TODO: app.use()를 활용하여 /discussions 경로로 라우팅합니다.
app.use('/discussions', discussionsRouter)


app.get('/', (req, res) => {
  // 서버 상태 확인을 위해 상태 코드 200과 함께 응답을 보냅니다.
  res.status(200).send('fe-sprint-my-agora-states-server');
});

const server = app.listen(port, () => {
  console.log(`[RUN] My Agora States Server... | http://localhost:${port}`);
});

module.exports.app = app;
module.exports.server = server;

🐰 39일차 수업을 마치며...

지옥같던 섹션2도 마무리 되어 간다. 솔직히 많은 부분을 모두 이해하지 못했지만 구매한 유데미 타강의를 천천히 보며 react를 다시 체득해야할 것 같다. 서버 관련해서는 그저 편리하게 사용하던 인터넷, 웹페이지 등이 내 눈앞에 나타나기까지 어떤 과정을 거치는가에 대한 흐름을 알 수 있었다.

profile
[무엥일기] 무엥,,, 내가 머쨍이 개발자가 될 수 이쓰까,,,

0개의 댓글