From 5a41b39490c611ad7ed6f3bfb3a02afbcd472caa Mon Sep 17 00:00:00 2001 From: ljy2855 Date: Sat, 27 Jan 2024 23:34:18 +0900 Subject: [PATCH] docs: Update readme --- README.md | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3448c27..991ec29 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,17 @@ # cspc_apply_server +> 신입부원 모집을 위한 backend API server + +**Stack** +* Django +* drf_yasg (swagger) +* django_rest_framework +* Docker + + ## DEV (local) 로컬에서 개발할 때 가이드 -로컬에서 개발할때는, sqlite3 local DB를 사용함 (배포용 DB와 별도) +로컬에서 sqlite3 local DB를 사용함 (배포용 DB와 별도) ### 소스코드 다운로드 ```bash @@ -13,7 +22,7 @@ git clone https://github.com/CSPCLAB/cspc_apply_server.git ```bash cd ./app conda activate env # 가상환경 세팅 -pip install -r requirements +pip install -r requirements.txt ``` @@ -49,7 +58,7 @@ git push --set-upstream origin new_branch ## DEPLOY `git action`을 통해 `master` 브런치에 push or PR merge 시, 자동으로 배포 -다만 웬만해서 PR을 통해 test후 배포하는 것을 권장 +웬만해서 master로 바로 push하지 말고, PR을 통해 test후 배포하는 것을 권장 직접 배포해야 하는 상황이 있다면 (ex DB migration 충돌) ```bash @@ -59,18 +68,21 @@ docker-compose up --build -d ``` ## FEAT -작성중... +Infra 쪽은 거의 완성되어서 개발할 때, django쪽 구현만 신경 + ### Swagger * /swagger : API test * /redoc : API 문서 ### API -각 API endpoint마다 django-rest-api 테스트 form 구현(다만 swagger로 테스트하는 걸 추천) +각 API endpoint마다 django-rest-api 테스트 form 구현 +> 이 endpoint 말고 swagger 테스트 추천 ### AUTH -`student_id`를 통해 로그인하도록 custom backend 구현 +`student_id`를 통해 로그인하도록 custom model 구현 -다만 계정 생성, 로그인 API 수정하는 걸 추천 -> TODO : `user.view.py` 수정 + +다만 custom user model만 만들고 아직 authenticate 모듈은 구현 및 연동 안된 상태 +> TODO : `user.view.py`, `user.backends` 수정 ### Test workflow에 push시, test 실행되도록 구현 @@ -78,6 +90,25 @@ workflow에 push시, test 실행되도록 구현 다만 아직 테스트 코드 구현 X > TODO : 각 모듈별 `tests.py` 내 테스트 코드 작성 + +### CI/CD +#### Docker +배포는 전부 docker container를 통해서 진행 +django, nginx, db 이렇게 세개의 container를 통해 배포되는데, + +컨테이너 구성 및 네트워크, 볼륨은 아래 compose 파일 확인 + +`docker-compose.yml` +#### Git action +`git action` 은 깃허브에서 지원하는 workflow + +github으로 코드 push, pr 등의 이벤트를을 트리거삼아 원하는 스크립트 실행 (test, deploy) + +[workflow](https://github.com/CSPCLAB/cspc_apply_server/tree/master/.github/workflows) 여기서 실행되는 스크립트 확인가능 + + + + ## EDITOR SETTING (code style) vscode 사용 권장