web
Node.js Express 를 통해 구현한 블로그 프로젝트입니다.
기본적인 블로그의 기능은 대부분 들어있습니다.
- ejs 파일로 SSR 방식을 썼습니다.
- 세션으로 로그인을 관리합니다.
- Nodemailer 로 회원가입 시 이메일 인증코드 입력을 한 번 구현해봤습니다.
- 이미지는 webp로 변환해 최적화했고, AWS S3 버킷을 이용해 업로드를 할 수 있도록 했습니다.
- 글 DB는 NoSQL이기 때문에 비정규화로 유저 정보를 직접 넣도록 하였고,
- 필요한 경우에만 코드 복잡도를 낮추기 위해 $lookup 으로 Join 해서 데이터를 불러왔습니다.
- 웹소켓을 이용해 쪽지 기능을 만들었습니다. 추후 읽음 상태와 검색 기능, 미디어 업로드도 구현해볼 생각입니다.
- MongoDB Atlas 에서 제공하는 Search Index 로 한글 제목 검색을 용이하도록 해주었습니다.
- Docker 로 컨테이너를 만들어 다른 기기에서 오류가 발생하지 않도록 했습니다.
- Github Actions 를 이용해 git push 시, 자동으로 도커이미지 업로드와 EC2 인스턴스에 적용되도록 CI/CD를 구현해봤습니다.
- name.com 에서 EC2 Elastic IP를 연결해 도메인을 등록했고,
- Certbot과 Let's Encrypt를 통해 무료 SSL 인증서를 발급받고, HTTP 접속을 HTTPS로 강제 리다이렉트하는 설정을 통해 데이터 전송 보안을 확보했습니다.
- Toast ui Editor 을 써서 마크다운 문법으로 글 작성할 수 있도록 했습니다.
2026년 3월 23일 AM 9:01
댓글 닫기
△