1. 사용할 패키지들
node.js는 기존에 브라우저 안에서만 사용되던 언어였지만 브라우저 밖에서도 사용하기 위해 만들어졌으며, 프론트엔드와 백엔드에서 동시에 사용할 수 있다는 장점이 있다.
node.js에는 npm을 통해 패키지를 관리한다.
npm init을 사용하여 프로젝트를 생성하고 나면 package.json이 생성된다.
json은 데이터를 전송할 때 사용하는 양식이며 package.json에는 해당 프로젝트의 패키지를 관리하기 위한 문서다.
우리가 npm을 사용하여 설치한 모든 것들은 package.json의 dependencies에 기록된다.
dependencies는 프로젝트를 실행하기 위한, devDependencies는 개발자를 위한 패키지들이다.
express라는 node.js의 프레임워크를 사용하여 서버를 구축한다.
우리는 현재 ES6 js문법을 사용중인데, nodejs는 최신문법을 전부 이해하지 못하기 때문에 이 문제를 해결하기 위해 babeljs 컴파일러를 사용한다.
프로젝트를 진행하며 우리는 셀수도 없을 정도로 저장을 많이 하는데 매번 서버를 on/off하여 변경된 결과를 확인하기는 번거로우므로 nodemon 패키지를 사용하여 프로젝트 내 파일들이 변경될 때마다 node application을 자동으로 다시 시작하게 만든다.
pug는 node.js 기반의 template engine으로 pug 문법으로 작성하면 HTML로 바꿔주며, 기존 HTML 문법보다 매우 간결하다.
하지만 express는 template engine이 없기 때문에 서로 연결하는 과정이 필요하다.
데이터베이스는 mongoDB를 사용할 예정이며, 기존에 배웠던 테이블 형태의 데이터베이스들과는 다르게 JSON 형태를 가지고 있다.
mongoose는 mongoDB와 express서버를 연결하기 위한 라이브러리다.
git을 통해 형상관리, github를 통해 프로젝트를 관리한다.
2. 프로젝트에 들어가기 전에
대략 깃허브 로그인 기능까지 만드는 것을 강의를 통해 배웠고, 배웠던 것을 복습하고 과제들을 제출하며 공부하고 있다.
해당 강의는 유튜브 클론코딩이며, 우선은 배운 것들을 토대로 전체적인 리모델링을 할 계획이다.
개인적으로는 강의에서 제시한 URL 경로들이 개인적으로는 불편하다고 느꼈기에 그런 부분들을 수정하며 어떤게 더 좋을지 시도해 볼 계획이다.
개인 프로젝트로 만들어 볼려고 예상하고 있는 것은 두가지가 있는데 첫번째는 브라우저의 즐겨찾기 기능과 개인 일정 관리를 할 수 있는 페이지다.
단순하게 브라우저 내 즐겨찾기는 못생겼기 때문에 그냥 안쓰기 보다는 시작 페이지에 일정 관리 페이지를 만들어 하루의 일정을 관리하면서 다른 페이지로 이동하기 편한 장소를 만들고 싶었다.
솔직히 유용한 프로젝트라는 생각이 안들기도 하지만, 시행착오를 겪어보면 이 후의 프로젝트는 더 명확하게 구성할 수 있지 않을까 싶다.
이 후의 프로젝트는 커뮤니티 기능을 가진 크리에이터들의 개인 홈페이지를 만들 생각이다.
아이디어를 얻은 곳은 pohx 라는 트위치 스트리머의 개인 홈페이지이다.
이 스트리머는 POE라는 게임을 하며 초보자들을 위한 정보들을 꽤나 자세하게 설명해주는 편인데, 개인 홈페이지도 만들어 관리하는 것을 보고 신기했었다.
또한 서양의 여러 스트리머들은 이런식으로 개인 홈페이지를 만들어 팬들과 소통도 하고 여기서 본인의 굿즈들을 판매하고 있었다.
- https://empyriangaming.creator-spring.com/
정리하면 유튜브 클론코딩으로 1개, 개인 프로젝트로 2개, 총 3개의 프로젝트를 두 달안에 만들어 볼 계획인데 아마 결제 기능까지 만들기는 쉽지 않아 보이지만 도전해 볼 생각이다.
'개발 > Project' 카테고리의 다른 글
소셜 로그인은 역시 짜증 (0) | 2024.12.01 |
---|---|
세션 복습 (0) | 2024.11.30 |
회원가입 로그인 (0) | 2024.11.29 |
Deployment (0) | 2024.11.27 |
콘티 (0) | 2024.11.11 |