SNS 프로젝트에서 사용되는 백엔드 API입니다.
로그인, 회원가입, 프로필, 게시물, 댓글, 상품, 팔로우 기능을 제공합니다.
멋쟁이사자처럼에서 제공하는 백엔드 API가 종료됨에 따라, 해당 API를 사용하는 유저들이 자신만의 서버를 생성하고 조작 및 연결할 수 있도록 명세를 참고하여 만들었습니다.
tripillow, spport, show-in-seoul 세 개의 프로젝트에서 테스트 완료 하였습니다.
Fork 후, 프로젝트에 맞게 설정하여 사용하실 수 있습니다.
-
설치
npm install # or yarn install
-
실행방법
env 파일을 먼저 설정 후 실행
-
dev
npm start:dev | npm start:dev:hmr # or yarn start:dev | yarn start:dev:hmr
-
prod
npm start:prod # or yarn start:prod
-
root에 .env파일 생성
-
MongoDB 생성 후 DB_URL, DB_USER, DB_PASSWORD 추가
-
서버 배포 후 API_HOST 추가
-
JWT_SECRET 키 생성 후 추가(JWT의 서명을 생성하고 검증하는 데 사용되는 비밀 값. 충분한 길이와 복잡성 권장.)
env 파일 예시
DEV_HOST=http://localhost:8080/
API_HOST=서버 배포 URL
# DB Server Info
DB_URL=데이터베이스 URL (예시: mongodb+srv://<username>:<password>@lion-api.abcd123.mongodb.net/<database_name>)
DB_USER=데이터베이스 username
DB_PASSWORD=데이터베이스 password
JWT_SECRET=JWT SECRET KEY (예시: 랜덤한 문자열, `openssl rand -hex 64` 입력 후 생성된 문자열 등)
- MongoDB 아틀라스를 사용해 클러스트 생성.
- Database > Clusters > Connect 에서 url을 복사 후 env 파일에 입력
- 유저 정보 (입력 후) database name도 같이 입력
- ex)
mongodb+srv://<username>:<password>@lion-api.abcd123.mongodb.net/<database_name>
- MongoDB Compass(GUI)를 사용해 통신시에 database에 잘 들어갔는지 확인(MongoDB 사이트내에서도 확인 가능)
📌 필수!! MongoDB Network Access 설정변경
MongoDB Network Access 설정 변경을 꼭 해야합니다. 변경하지 않을 경우 서버배포시 MongoDB에 access 실패로 에러가 나오게 됩니다.
- MongoDB 사이트(아틀라스)접속 후 SECURITY 카테고리 접속
- Network Access 접속
- ADD IP ADDRESS 버튼 클릭 (초록색 버튼)
includes your current IP address
체크하거나 직접 Access List Entry에0.0.0.0/0
입력- 모든 네트워크의 접근을 허용
원하는 서버 호스팅을 선택하여 해당 서버를 배포합니다.
추천하는 서버 호스팅 앱은 koyeb
입니다. 제한까지 무료로 이용하실 수 있습니다.
배포 후 env 파일의 API_HOST에 추가해주세요.
멋쟁이사자처럼 BE API
일부 서버 Response와 다르게 적힌 명세는 수정했습니다.
김도경 | 우혜리 | 이도하 | 임다솜 |
---|---|---|---|
d-charlie-kim | hyeri-woo | haron-lee | bringvotrevin |
- 프로필 모듈 - validationPipe |
- 회원가입 모듈 - 게시글 모듈 |
- 이미지 모듈 - router 모듈 - 상품 모듈 |
- 로그인 모듈 - 댓글 모듈 좋아요 및 검색 기능 |
Thanks to all the people who contribute: