기업 채용을 위한 웹 서비스(api) 개발
Python & Django (DRF) & PostgreSQL 사용
- Main (필수 개발 환경 관련)
- Python 3.12.*
- Django 5.0.*
- Django Rest Framwork 3.15.*
- PostgreSQL 16.3.*
- 나머지는
requirements.txt
참조
- 사용 개발 도구
- Visual Studio Code
- OpenApi(Swagger, drf-yasg)
- Talend API Tester(검증용)
- ERD_CLOUD
- DB 설계용
- pgAdmin4
- PostgreSQL용
-- C로 이동
cd \
-- 루트 디렉터리 생성
mkdir venvs
-- 루트 디렉터리로 이동
cd venvs
-- 가상환경 생성(가상환경 명 wanted)
python -m venv wanted
-- 가상환경 실행 가능 폴더로 이동
cd C:\venvs\wanted\Scripts
-- 가상환경 활성화
activate
-- (프로젝트 경로로 이동한 뒤) 가상환경에 기존 requirements.txt 내역 설치
pip install -r requirements.txt
-- django 프로젝트 실행
python manage.py runserver
-- 초기 로컬 호스트 주소
http://127.0.0.1:8000/
-- swagger 접속 주소
http://127.0.0.1:8000/swagger/
-- 가상환경 비활성화
deactivate
- recruit_pjt > config 내에
.env
파일 생성해서 내부에 이하 내용 세팅할 것 (PostgreSQL DB 기준이어야 함)
SECRET_KEY=(django secret key)
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
- 요구된 사항만 정리 (이외는 생략)
- 모든 api url은
/api
를 이미 포함하고 있음(Base URL: 127.0.0.1:8000/api
)
Method | URL | Parameters | Description |
---|---|---|---|
GET |
/recruitments/?search=(query string 생략 가능) |
X | 채용공고 목록 확인(검색 가능) |
POST |
/recruitments/ |
X | 채용공고 신규 등록 |
GET |
/recruitments/{recruitment_id} |
(int) recruitment_id(pk) | 채용공고 상세 정보 확인 |
PUT |
/recruitments/{recruitment_id} |
(int) recruitment_id(pk) | 채용공고 수정 |
DELETE |
/recruitments/{recruitment_id} |
(int) recruitment_id(pk) | 채용 공고 삭제 |
Method | URL | Parameters | Description |
---|---|---|---|
GET |
/resume/ |
X | 지원 목록 확인 |
POST |
/resume/ |
X | 지원 신규 등록 |
-
커밋 메세지 기본 구조
commit -m "[type] Subject" (Type : 앞뒤로 한칸 씩 띄우기) commit -m "[feat] 로그인 API 구현"
- Type
- feat : 새로운 기능과 관련된 것을 의미한다.
- fix : 오류와 같은 것을 수정했을 때 사용한다.
- docs : 문서와 관련하여 수정한 부분이 있을 때 사용한다.
- style : 코드의 변화와 관련없는 포맷이나 세미콜론을 놓친 것과 같은 부분들을 의미한다.
- refactor : 코드의 리팩토링을 의미한다.
- test : test를 추가하거나 수정했을 때를 의미한다.
- chore : build와 관련된 부분, 패키지 매니저 설정 등 여러가지 production code와 무관한 부분들을 의미한다. 말 그대로 자질구레한 일들이다.
- remove : 파일 삭제했을 때를 의미한다.
- rename : 폴더 또는 파일의 이름 수정 및 이동.(chore로 해도 될듯?)
- Type
-
Subject
- 한글버전으로 하기
- ex ) 한글버전 >>>> [feat] loginAPI 구현