채팅 앱 만들기 - routes

Kang JaeHyeon·2021년 8월 25일
0

채팅 앱 만들기

목록 보기
3/8

routes 폴더를 생성한 후 하위 파일로 auth.js, middlewares.js, index.js를 생성.

middlewares.js

isLoggedIn, isNotLoggedIn 미들웨어를 작성.

auth.js

post /join (isNotLoggedIn)
회원가입 화면에서 가입 확인 버튼을 눌렀을 때.
입력한 정보를 가지고 있는 유저의 유무를 파악한 후 그 결과에 따라 에러 메시지 또는 가입 완료후 메인화면으로 돌아오게 됨.

post /login (isNotLoggedIn)
메인 화면에서 로그인 버튼을 눌렀을 때.
아이디/비밀번호를 DB와 대조한 후 일치 시 로그인 성공. 불일치 시 에러 메시지 출력.
로그인이 되어있지 않은 세션에서 눌렀을 때, 로그인 성공 시 메인화면으로 이동.
로그인이 되어있는 상태에서는 기본적으로 버튼이 활성화 되어있지 않지만 요청 발생 시 바로 메인화면으로 이동.

get /logout (isLoggedIn)
로그아웃 버튼을 눌렀을 때.
로그아웃이 되고 현재 세션을 없앰. 그 후 메인화면으로 이동.

index.js

get /
메인화면으로 이동.

get /join (isNotLoggedIn)
메인화면에서 회원가입 버튼을 눌렀을 때.
join.html을 화면에 출력.

get /room (isLoggedIn)
메인화면에서 방 생성 버튼을 눌렀을 때.
로그인 여부를 확인하고 로그인이 되어있다면 room.html을 화면에 출력.

post /room (isLoggedIn)
방 생성 페이지에서 생성 버튼을 눌렀을 때.
설정한 조건에 맞는 방을 생성.

get /room/:id (isLoggedIn)
메인화면에서 목록에 있는 방에 입장 버튼을 눌렀을 때.
비밀번호, 인원 수 등 조건이 일치한다면 방에 입장.

delete /room/:id (isLoggedIn)
방의 방장 권한을 가지고 있을 때 삭제 버튼 클릭.
방을 삭제하고 채팅 기록 또한 삭제.

post /room/:id/chat (isLoggedIn)
채팅 버튼을 눌렀을 때.
서버에 채팅을 전송 후 화면에 표시. room, user 속성을 현재 유저, 방의 정보를 가져오고 chat속성을 입력되어 있는 값을 가져옴.

0개의 댓글

관련 채용 정보