게시판 기능을 제공하는 서버입니다. Express.js와 MariaDB를 기반으로 구현되었으며, 사용자 인증, 게시글 관리, 댓글, 좋아요 등 다양한 기능을 제공합니다.
-
사용자 관리
- 회원가입/로그인/로그아웃
- 프로필 이미지 업로드
- 닉네임 변경
- 비밀번호 변경
- 회원 탈퇴
-
게시글
- 게시글 CRUD
- 이미지 업로드
- 조회수 관리
- 페이지네이션
-
댓글
- 댓글 CRUD
- 작성자 정보 표시
-
좋아요
- 게시글 좋아요/취소
- 좋아요 상태 확인
-
Backend
- Node.js
- Express.js
-
데이터베이스
- MariaDB
-
인증
- express-session
- bcrypt (비밀번호 암호화)
-
파일 처리
- Multer (파일 업로드)
- Base64 이미지 처리
- 저장소 클론
git clone https://github.com/100-hours-a-week/2-david-yoo-community-be.git
- 의존성 설치
npm install
- 환경 변수 설정
.env
파일을 생성하고 다음 내용을 설정하세요:
PORT=3000
DB_HOST=
DB_PORT=
DB_USER=
DB_PASSWORD=
DB_NAME=
SESSION_SECRET=
- 서버 실행
npm start
POST /auth/signup
- 회원가입POST /auth/login
- 로그인POST /auth/logout
- 로그아웃POST /auth/withdraw
- 회원탈퇴
PUT /user/nickname
- 닉네임 변경PUT /user/profile-image
- 프로필 이미지 변경GET /user/profile-image/:email
- 프로필 이미지 조회PUT /user/password
- 비밀번호 변경
POST /posts
- 게시글 작성GET /posts
- 게시글 목록 조회GET /posts/:id
- 특정 게시글 조회PUT /posts/:id
- 게시글 수정DELETE /posts/:id
- 게시글 삭제
POST /api/comments
- 댓글 작성GET /api/comments/:postId
- 댓글 목록 조회PUT /api/comments/:id
- 댓글 수정DELETE /api/comments/:id
- 댓글 삭제
PUT /api/likes/:postId
- 좋아요 상태 변경GET /api/likes/:postId
- 좋아요 상태 확인
POST /api/views/:id/increment
- 조회수 증가GET /api/views/:id
- 조회수 조회