pip3 install virtualenv
cd ku-zingzing
virtualenv winvenv
winvenv/Scripts/activate
pip install -r requirement.txt
cd backend
python manage.py runserver
Mac(bash)
pip3 install virtualenv
cd ku-zingzing
virtualenv macvenv
source macvenv/bin/activate
pip install -r requirement.txt
cd backend
python manage.py runserver
계정 관리
URL
METHOD
기능
api/auth/register
POST
회원 가입
api/auth/login
POST
로그인
api/auth/user
GET
사용자 정보 가져오기
api/auth/logout
POST
로그아웃
POST api/auth/register
request
키
설명
필수
타입
username
아이디
O
email
이메일
O
password
비밀번호
O
response
키
설명
타입
user
등록한 사용자에 대한 정보
JSON
token
사용자의 토큰 값
string
example
POST api/auth/login
request
키
설명
필수
타입
username
아이디
O
password
비밀번호
O
response
키
설명
타입
user
로그인한 사용자에 대한 정보
JSON
token
사용자의 토큰 값
string
example
GET api/auth/user
request
키
설명
필수
타입
Authorization (Header)
사용자의 토큰 값
O
token {token_value}
response
키
설명
타입
user
로그인 되어있는 사용자에 대한 정보
JSON
example
POST api/auth/logout
request
키
설명
필수
타입
Authorization (Header)
사용자의 토큰 값
O
token {token_value}
response
"POST /api/auth/logout HTTP/1.1" 204 0
example
게시물 관리
URL
METHOD
기능
/agendas
GET
모든 게시물 가져오기
/agendas
POST
게시물 등록하기
/likes
POST
게시물 좋아요 or 싫어요( 첫 번째 좋아요인 경우)
/likes/{like object의 id 값}
PUT
게시물 좋아요 or 싫어요(두 번째 이상인 경우)
/comment
POST
게시물의 댓글 작성
GET /agendas
게시물들의 정보들을 요청한다.
request
키
설명
필수
타입
response
array로 data : {…, …, ...}
키
설명
타입
agenda_id
게시물의 id 값
serial
description
게시물 내용
string
area
구역 정보
string
username
작성자 username
serial
timestamp
작성 시점 (정렬시 필요)
date
total_likes
좋아요 갯수
int
total_dislikes
싫어요 갯수
int
agenda_comments
해당 agenda 하위 댓글들
array
POST /agendas
게시물을 등록 후 전체 게시물 불러온다.
request
키
설명
필수
타입
area
구역 정보
O
string
description
게시물 내용
O
string
response
키
설명
타입
agenda_id
게시물의 id 값
serial
description
게시물 내용
string
area
구역 정보
username
작성자 username
serial
timestamp
작성 시점
date
total_like
좋아요 갯수
int
total_dislike
싫어요 갯수
int
agenda_comments
해당agenda 하위
array
첫 번째 좋아요 / 싫어요인 경우 해당 Agenda, User와 연결된 object가 없기 때문에
POST로 likenum or dislikenum =1 인 object 생성
두 번째 좋아요인 경우 해당 object가 이미 존재하기 때문에 해당 object의 필드값만 수정해주기 위해
detail url에서 likenum or dislikenum +=1
likenum, dislikenum field는 0 이상의 정수로만 존재 가능
둘 중 한 필드가 양수일 때 다른 필드를 누른 경우 양수인 필드에서 -=1
ex) likenum이 0, dislikenum이 4일 때 likenum누르면 dislikenum이 3됨.
POST /likes ( 첫 번째 좋아요 / 싫어요인 경우)
request
키
설명
필수
타입
agenda_id
게시물의 id 값
O
serial
user
현재 로그인된 유저
O
response
키
설명
타입
agenda
게시물의 id 값
serial
creator
작성자
serial
likenum
좋아요 개수
integer
dislikenum
싫어요 개수
integer
PUT /likes/<해당 유저, agenda에 해당하는 Like object의 pk값> ( 두 번째 이상 좋아요, 싫어요인 경우 )