[nodejs] Node.js와 싱글 페이지 어플리케이션의 실전 프로젝트

이번 프로젝트에서는 Node.js를 사용하여 싱글 페이지 어플리케이션을 구축하는 방법을 살펴보겠습니다.

목차

환경 설정

프로젝트를 시작하기 전에 Node.js와 npm을 설치해야 합니다. 그리고 프로젝트 폴더를 생성하고, 필요한 의존성 모듈을 설치해야 합니다.

npm init -y
npm install express mongoose

서버 구축

Node.js의 express 프레임워크를 사용하여 서버를 구축합니다. 먼저, server.js 파일에 기본적인 서버 코드를 작성합니다.

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

클라이언트 구현

클라이언트 측은 React를 사용하여 싱글 페이지 어플리케이션을 구현할 수 있습니다. React 앱을 생성하고 간단한 컴포넌트를 만들어봅시다.

npx create-react-app client
cd client
npm start
import React from 'react';

function App() {
  return <h1>Hello, React!</h1>;
}

export default App;

데이터베이스 연동

MongoDB와 Mongoose를 사용하여 데이터베이스를 연동합니다. 모델을 정의하고 데이터를 저장하고 검색하는 기능을 구현할 수 있습니다.

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/myapp');

const schema = new mongoose.Schema({ name: 'string' });
const Model = mongoose.model('Model', schema);

const doc = new Model({ name: 'John' });
doc.save();

보안 강화

프로젝트의 보안을 강화하기 위해 Helmet과 bcrypt와 같은 모듈을 사용하여 보안에 신경을 써야 합니다.

npm install helmet bcrypt
const helmet = require('helmet');
const bcrypt = require('bcrypt');
// ...
app.use(helmet());

이렇게 Node.js와 싱글 페이지 어플리케이션을 구현할 수 있습니다. 프로젝트를 진행하면서 더 다양한 기능과 보안을 강화할 수 있습니다.

참고 자료