Skip to content

OLLOC(지도 기반 SNS)의 REST-API 서버입니다.

License

Notifications You must be signed in to change notification settings

OLseconds/OLLOC-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OLLOC-server

해당 프로젝트는 위치기입에 강제성을 띄우는 SNS 제작 프로젝트이다.

해당 레파지토리는 백엔드 부분임

Thanks to @zaeval

해당 프로젝트 포스팅

작업환경

  • server : azure 가상머신
  • os : ubuntu 18.04 LTS
  • db : MariaDB
  • protocol : HTTP/HTTPS
  • language : python django, django-rest-framework
  • ssl : Let’s encrypt

User API

회원관리 API(회원가입, 로그인, 회원정보조회 등)

로그인 (토큰흭득)

  • URI : olloc.kr3.kr:8000/auth/

  • METHOD : POST

  • request

    key explanation type
    username user id string
    password password string
  • response code

    • Header : Content-Type : application/json

    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        401 1 토큰 만료
        401 2 토큰이 존재하지 않음
    • SUCCESS RESPONSE

      key explanation type
      token 발급 토큰(클라이언트에서 저장하세요!) string
      created 토큰 발급 일 시 string

회원가입

  • URI : olloc.kr3.kr:8000/user/
  • METHOD : PUT
  • REQUEST :
    • Header :

      • Content-Type : application/json
    • Body : (json)

      key explanation type
      username 회원 아이디 string
      password 회원 패스워드 string
      name 회원 이름 string
      mail 회원 이메일 string
    • ex)

      • { "username": "test2", "password": "world", "name":"jonghwi", "mail":"[email protected]"}
  • RESPONSE
    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 아이디 유효성 오류
        400 2 해당 회원이 데이터베이스 내 존재
    • SUCCESS RESPONSE

      key explanation type remarks

프로필 사진 바꾸기

  • URI : olloc.kr3.kr:8000/user/
  • METHOD : POST
  • REQUEST :
    • Header :

      • Authorization : 발급 된 토큰
      • Content-Type : multipart/form-data
    • Body : (json)

      key explanation type
      image 프로필사진 file
  • RESPONSE
    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 업로드 파일 형식 오류 image/XXX 이 아님
    • SUCCESS RESPONSE

      key explanation type remarks

로그인 정보 조회 (본인)

  • URI : olloc.kr3.kr:8000/auth/

  • METHOD : GET

  • request

    • Header :
      • Content-Type : application/json
      • Authorization : 발급 된 토큰
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 1 일치하는 회원이 없음
    • SUCCESS RESPONSE

      key explanation type remarks
      id 회원 번호 integer
      username 회원 아이디 string
      email 회원 이메일 string
      is_superuser 관리자 여부 boolean
      is_active 활성화 여부 boolean
      profile_img 프로필 이미지 string(url)
      follower 팔로워 수 integer
      following 팔로잉 수 integer

회원정보 조회

  • URI : olloc.kr3.kr:8000/user/

  • METHOD : GET

  • request

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETER

      key explanation type
      user_id 조회할 회원번호 integer
      username 조회할 회원아이디(옵션) string
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 1 일치하는 회원이 없음
    • SUCCESS RESPONSE

    로그인 정보 조회와 동일

팔로잉 목록 조회

  • URI : olloc.kr3.kr:8000/follow/

  • METHOD : GET

  • request

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETER :

      key explanation type etc
      user_id 팔로잉 목록 조회할 아이디 integer 미 입력 시 본인 팔로우 리스트 출력
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 팔로잉 대상이 올바르지 않음
      • SUCCESS RESPONSE

      key explanation type remarks
      follower 팔로워 수 integer
      following 팔로잉 수 integer
      is_following 토큰 사용자가 팔로우 하고 있는지 여부 boolean
      following_list 팔로잉 사용자 정보 array
      following_list[n]["id"] 회원 번호 integer
      following_list[n]["username"] 회원 아이디 integer
      following_list[n]["name"] 회원 이름 integer
      following_list[n]["profile_img"] 프로필 사진 integer
      follower_list 팔로워 사용자 정보 array
      following_list[n]["id"] 회원 번호 integer
      following_list[n]["username"] 회원 아이디 integer
      following_list[n]["name"] 회원 이름 integer
      following_list[n]["profile_img"] 프로필 사진 integer

팔로잉

  • URI : olloc.kr3.kr:8000/follow/

  • METHOD : POST

  • request

    • Header :

      • Authorization : 발급 된 토큰
      • Content-Type : application/json
    • Body : (json)

      key explanation type
      user_id 팔로잉 대상 user number integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 팔로잉 대상이 올바르지 않음

언팔로잉

  • URI : olloc.kr3.kr:8000/follow/

  • METHOD : DELETE

  • request

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETER :

      key explanation type
      user_id 팔로잉 대상 user number integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 언팔로잉 대상이 올바르지 않음
        400 2 언팔로잉 대상이 팔로잉 중이지 않음

검색

  • URI : olloc.kr3.kr:8000/search/

  • METHOD : GET

  • request

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETER :

      key explanation type
      username 검색할 회원 username string
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 회원이 존재하지 않음
    • SUCCESS RESPONSE

      key explanation type remarks
      id 회원 번호 integer
      username 회원 아이디 string
      name 회원 이름 string
      profile_img 회원 프로필 이미지 string(url)

      위 데이터의 array형태

Post API

글 조회

  • URI : olloc.kr3.kr:8000/posts/

  • METHOD : GET

  • REQUEST :

    • Header :

    • QUERY PARAMETERS :

      key explanation type
      post_id 게시물 번호 integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 아이디 유효성 오류
    • SUCCESS RESPONSE

      key explanation type remarks
      id 게시물 번호 integer
      owner["id"] 게시물 번호 integer
      owner["username"] 회원 아이디 string
      owner["name"] 회원 이름 string
      owner["profile_img"] 회원 프로필 사진 string(url)
      date 작성시간 time
      description 게시물 내용 string
      like 좋아요 개수 integer
      likeState 토큰 사용자가 좋아요를 눌렀는지 여부 boolean
      comments 댓글 정보 array 순차적
      comments[n]["id"] 댓글 번호 integer
      comments[n]["comment"] 댓글 내용 string
      comments[n]["owner"] 댓글 소유자 정보 array
      comments[n]["owner"]["id"] 댓글 소유자 번호 integer
      comments[n]["owner"]["username"] 댓글 소유자 아이디 string
      comments[n]["owner"]["name"] 댓글 소유자 이름 string
      comments[n]["owner"]["profile_img"] 댓글 소유자 프로필사진 string(url)
      comments[n]["date"] 댓글 작성 일자 string(date+time)
      lx 지도 x값 array(string)
      ly 지도 y값 array(string)
      map_info 맵설명 array(string)
      img 사진 array(string)

    ex

    { "id": 14, "owner":{ "id": 1, "username": "paperlee", "name": "이종휘", "profile_img": "https://placehold.it/58x58" }, "last_modified": null, "description": "test", "comments":[ { "id": 1, "description": "test", "owner":{ "id": 1, "username": "paperlee", "name": "이종휘", "profile_img": "https://placehold.it/58x58" }, "date": "2020-03-06T18:23:28.079170Z" }, { "id": 3, "description": "test", "owner":{"id": 1, "username": "paperlee", "name": "이종휘", "profile_img": "https://placehold.it/58x58"…}, "date": "2020-03-14T07:53:21.278721Z" } ], "post_id":[ 14, 14 ], "lx":[ "x1", "x2" ], "ly":[ "y1", "y2" ], "map_info":[ "test", "test2" ], "img":[ "http://olloc.kr3.kr:8000/images/1495713718223_PCnk75g.jpg", "http://olloc.kr3.kr:8000/images/1495714334123_6FhS14R.jpg" ] }

글쓰기

  • URI : olloc.kr3.kr:8000/posts/

  • METHOD : POST

  • REQUEST :

    • Header :

      • Content-Type : multipart/form-data
      • Authorization : 발급 된 토큰
    • Body : (Form)

      key explanation type
      image 이미지파일 from data string
      lx 지도 x 값 string
      ly 지도 y 값 string
      map_info 지도 상세내용 string
      content 게시물내용 string
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      error_file 오류원인 파일 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 업로드 파일 형식 오류 image/XXX 이 아님
    • SUCCESS RESPONSE

      key explanation type remarks

글 삭제

  • URI : olloc.kr3.kr:8000/posts/

  • METHOD : DELETE

  • REQUEST :

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETERS :

      key explanation type
      post_id 삭제할 게시물 번호 integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 해당 게시물이 존재하지 않
        400 2 해당 게시물이 본인 소유가 아님

댓글쓰기

  • URI : olloc.kr3.kr:8000/comment/

  • METHOD : POST

  • REQUEST :

    • Header :

      • Content-Type : application/json
      • Authorization : 발급 된 토큰
    • Body :

      key explanation type
      post_id 대상 게시물 id string
      description 댓글 내용 string
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류, 상세 내용은 error_msg 참고
        400 1 해당 게시물이 존재하지 않음

타임라인 조회

  • URI : olloc.kr3.kr:8000/timeline/

  • METHOD : GET

  • REQUEST :

      - Authorization : 발급 된 토큰
    
    • QUERY PARAMETERS :

      key explanation type
      username 게시물들을 불러올 회원 아이디 string
      start 시작할 게시물 index integer
      count 가져올 게시물 개수 integer

      QUERY PARAMETERS 미 전송 시 내가 팔로우 한 사람들 ( 메인화면 타임라인)

  • RESPONSE

    • Header :

      • Content-Type : application/json
      key explanation type remarks
      count 게시물 개수 integer
      next 다음 요청할 타임라인 url string(url)
      results 게시물 데이터 array 게시물 API의 array형태 리턴

게시물 조회와 동일한 RESPONSE (단, Array형태)

좋아요

  • URI : olloc.kr3.kr:8000/like/

  • METHOD : PUT

  • request

    • Header :

      • Authorization : 발급 된 토큰
      • Content-Type : application/json
    • Body : (json)

      key explanation type
      post_id 좋아요 할 대상 게시물 번호 integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 좋아요 대상 게시물이 삭제됐거나 존재하지 않음

좋아요 취

  • URI : olloc.kr3.kr:8000/like/

  • METHOD : DELETE

  • request

    • Header :

      • Authorization : 발급 된 토큰
    • QUERY PARAMETERS

      key explanation type
      post_id 대상 게시물 번호 integer
  • RESPONSE

    • Header :

      • Content-Type : application/json
    • ERROR RESPONSE

      key explanation type
      error_code 오류 코드 integer
      error_msg 오류 내용 string
      • error_code (오류 별 반환 내용 및 상태)

        HTTP STATE error_code explanation
        400 -1 토큰에러 auth 로그인 참고
        400 0 파라미터 오류
        400 1 좋아요 대상 게시물이 삭제됐거나 존재하지 않음

냉면 맛집면

  • NAME : 숙이네 왕냉면
  • URI : 37.4229729,126.648891

  • NAME : 육쌈냉면 송도점
  • URI : 37.3970124,126.6399748

  • NAME : 별미칡냉면 부평 갈산동
  • URI : 37.5111495,126.7032001

Releases

No releases published

Packages

No packages published

Languages