메인 페이지
커뮤니티 페이지
로그인 / 회원가입 페이지
user
dog
dogimg
board
reply
기능 | Method | URL | Request | Response |
---|---|---|---|---|
메인화면 페이지 로드 | GET | / | render_template('index.html') | |
로그인 페이지 로드 | GET | /login | msg | render_template('login.html', msg=errorMsg) |
회원가입 페이지 로드 | GET | /join | render_template('join.html') | |
글쓰기 페이지 로드 | GET | /board/write | Token 인증시 - render_template('board_write.html'), Token 미인증시 - {msg="로그인 정보가 존재하지 않습니다."} | |
회원가입시 선택할 강아지 목록 조회 | GET | /dog/list | jsonify({'msg': dog}) | |
ID 중복검사 | POST | /api/check_dup | {'id': id} | 중복 아닐시 - {'msg': "사용 가능한 ID 입니다"} 중복 시 - {'msg': "사용이 불가능한 ID 입니다."} |
회원가입 | POST | /api/join | {'file': file, 'email': email, 'id' :id, 'nickname':nickname, 'pw':password, 'dogCode',dog_result} | 회원가입 성공시 - {'msg': '회원가입이 완료되었습니다.'} , 실패시 - 상황에 맞는 MSG 출력 |
로그인 | POST | /api/login | {'id': id_give, 'pw': pw_give} | 로그인 성공 - {'result': 'success', 'token': token, "nickname":nickname } 로그인 실패 - {'result': 'fail', 'msg': '아이디/비밀번호가 일치하지 않습니다.'} |
메인화면 강아지 이미지, 목록 조회 | GET | /getDogList | 조회 성공시 - {'dogList': dog_list, 'dogimgList': dogimg_list} | |
메인화면에서 강아지 검색어 조회 | POST | /api/search | {'give_keyword': keyword} | 조회 성공시 - {'search_dog': search_dog, 'dogimgList': dogimg_list, 'receive_keywords': receive_keywords} |
게시글 작성 | GET | /board/write | Token 인증시 - render_template('board_write.html', user_id = user_id, nickname = nickname, profileImg=user_info["profileImg"]), Token 인증 실패시 - make_response(redirect(url_for("login", errorCode=errorCode))) | |
게시글 조회 | GET | /board/select | Token 인증시 - render_template('board_list.html',result=boardList, user_id = user_id, nickname = nickname, profileImg=user_info["profileImg"] ), Token 인증 실패시 - make_response(redirect(url_for("login", errorCode=errorCode))) | |
게시글 상세 조회 | GET | /board/detail?id={id} | {'id':board_id} | Token 인증시 - render_template('board_detail.html', board=board, reply=reply_list, user_id=user_id, nickname = nickname, profileImg=user_info["profileImg"]), Token 인증 실패시 - make_response(redirect(url_for("login", errorCode=errorCode))) |
게시글 수정 화면 렌더링 | GET | /board/modify?id={id} | {'id':board_id} | render_template('board_update.html', board = board, user_id = user_id, nickname = nickname) |
게시글 저장 | POST | /board/create | {'id':id, 'userId': user_id, 'contents': contents, 'title': title, 'imgUrl': imgUrl,'createTime': now.strftime("%Y-%m-%d %H:%M:%S"),'updateTime': now.strftime("%Y-%m-%d %H:%M:%S")} | {msg="저장되었습니다."} |
게시글 수정 | PUT | /board/update | {'id':boardId, 'contents': contents, 'title': title, 'imgUrl': imgUrl,'updateTime': now.strftime("%Y-%m-%d %H:%M:%S")} | {msg="수정되었습니다."} |
게시글 삭제 | DELETE | /board/delete | {'id':id} | {msg="삭제되었습니다."} |
댓글 저장 | POST | /board/reply/create | {'boardId':board_Id ,'userId': user_id, 'contents': contents} | {msg="저장되었습니다."} |
댓글 삭제 | DELETE | /board/reply/delete | {'boardId':board_id,'seqNo' : seqNo} | {msg="삭제되었습니다."} |
gitHub 레퍼지토리를 만들고, 백엔드 개발에 필요한 MongoDB설정과 연결, DB 설계 및 API 설계를 담당하여 백엔드의 전반적인 기획 구성을 하였다. 진행하면서 항해99 멘토링 매니저의 DB 설계 방식이나 API 네이밍 같은 지적을 받았고, 추후 수정하여 설계를 완성하였다. 4일이라는 짧은 기간 안에 만들어야 해서 프로젝트의 규모는 크지 않게 구성하였다. 3명의 팀원과 함께 의논하여 프로젝트를 시작해 봐야겠다.