routes 폴더를 생성한 후 하위 파일로 auth.js, middlewares.js, index.js를 생성.
isLoggedIn, isNotLoggedIn 미들웨어를 작성.
post /join (isNotLoggedIn)
회원가입 화면에서 가입 확인 버튼을 눌렀을 때.
입력한 정보를 가지고 있는 유저의 유무를 파악한 후 그 결과에 따라 에러 메시지 또는 가입 완료후 메인화면으로 돌아오게 됨.
post /login (isNotLoggedIn)
메인 화면에서 로그인 버튼을 눌렀을 때.
아이디/비밀번호를 DB와 대조한 후 일치 시 로그인 성공. 불일치 시 에러 메시지 출력.
로그인이 되어있지 않은 세션에서 눌렀을 때, 로그인 성공 시 메인화면으로 이동.
로그인이 되어있는 상태에서는 기본적으로 버튼이 활성화 되어있지 않지만 요청 발생 시 바로 메인화면으로 이동.
get /logout (isLoggedIn)
로그아웃 버튼을 눌렀을 때.
로그아웃이 되고 현재 세션을 없앰. 그 후 메인화면으로 이동.
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속성을 입력되어 있는 값을 가져옴.