Skip to content

Commit

Permalink
Merge pull request #21 from CSPCLAB/docs
Browse files Browse the repository at this point in the history
docs: Update readme
  • Loading branch information
ljy2855 authored Jan 27, 2024
2 parents 32bf7a5 + 5a41b39 commit dc71e76
Showing 1 changed file with 39 additions and 8 deletions.
47 changes: 39 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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

```

Expand Down Expand Up @@ -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
Expand All @@ -59,25 +68,47 @@ 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 실행되도록 구현

다만 아직 테스트 코드 구현 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 사용 권장

Expand Down

0 comments on commit dc71e76

Please sign in to comment.