Open ghost opened 6 years ago
Project Requirements and Specification 수정 분배 완료
유저 스토리 보강 하기(en)
User can move to sign up page Given: User who is not logged in is on the login page When: User click the sign up button Then: User can go to the main page. Exception: When the logged in user tries to go to the sign up page, it goes to the main page.
User can sign up for a manager Given: User who is not logged in is on the sign up page When: Use enter email and password, press the submit button, and the user is successfully created. Then: user go to the main page. Exception: If the entered value does not match the format and the user can not be created, the user will stay on the sign up page and inform the user what is wrong.
User can log in as a manager Given: User who is not logged in is on the login page When: Successful login after entering email and password Then: User go to the main page. Exception: If the input value is not correct, notify the user and stay on the login page.
The manager can log out. Given: The manger is on the main page after logging into the site. When: The manager press the Logout button. Then: The user go to the sign in page.
Manager can access to new channel page Given: The manager is on the main page after logging into the site. When: The manager press the channel creation button. Then: The manager go to the channel creation window with the input form to create the channel. Exception: If a user who is not logged in or a user who is not an manager tries to connect, the login page is displayed.
Manager can make channel Given: The logged in manager is on the channel creation page. When: The manager enters the name and duration of a channel and presses the submit button. Then: The channel is successfully created and the administrator goes to the main page. Exception: The channel is not created when a user who is not an manager attempts to create a channel. The manager is correct, but can not create if the channel creation data is not correct, and notifies the manager of the error.
Manager can access to his channel Given: Manager has successfully created the channel and is on the main page When: The manager press channel access button Then: The manager go to the channel page with manager privileges. Exception: If the manager try to connect to a channel that is not created or has no authority, it informs the manager "you are not authorized" and the manager goes to the main page.
Manager can make notice snippet Given: Manager is on his channel page When: The manager check the announcement checkbox, enter a message, press the submit button, and if there is no problem with the input value Then: A notice is generated on the channel page. Exception: If there is a problem with the input value, the manager is notified and the message is not transmitted. If the manger send an announcement to the channel that has no authority, the manager will be informed that "you are not authorized" and will be directed to the main page.
Manager can access to his channel's qr code view Given: When the manager has successfully created the channel and is on the main page When: The manager press the QR code button Then: The manager go to the view with the QR code that can be accessed by the channel. Exception: When there is no channel created, the manager try to connect with QR code view, the manager will be informed that there is no channel created and does not move the channel page.
User can connect to channel access view via QR code Given: There is a QR code that can be connected to a channel that has not expired When: The user read QR code in the user's reader Then: The user go to the page where can enter his user profile before entering the channel page. Exception: If user try to connect with an expired channel or a QR code over a period of time, the user will go to an error page that tells you that it does not exist.
User can access channel Given: User is on a channel access page that has not expired When: The user inputs the profile picture and name appropriately and then presses the submit button Then: The user can access the channel page to see past chats. Exception: If the size of the picture is too big or the name is not correct, it shows the error to the user and it stays on the channel access page. If the expired channel is found, it will go to the error page informing it that it does not exist.
User can send message to the channel Given: User is on a channel page that has not expired When: The User Enter the conversation and press the send button Then: The conversation the user sent appears in the chat window. Exception: If the content of the conversation is inappropriate, it notifies the user and does not send a message. If the message is not sent due to a server error, it notifies the user and the input value does not appear in the chat window.
User can receive message from the channel Given: The user(A) is on a channel page that has not expired When: Another user(B) sends a message to the channel Then: The other user's(B) message appears in the chat room(A). Exception: If the user(A) are doing 'direct message', it indicates that a new message(from B) has arrived on the channel.
User can access direct message view Given: User is on a channel page that has not expired When: The user(A) click on a different user(B) profile Then: The user(A) go to the direct message view where the user(A) can talk to other user(B). Exception: If the other user(B) is disconnected, notify the user(A) and keep it on the channel.
User can send message to other user via direct message Given: User is in direct message View. When: The user enter a message and click the submit button. Then: The message content appears in the direct message view. Exception: When a message is not transmitted due to a server error, it is notified to the user and it can be retransmitted.
User can receive message from other user via direct message Given: User (A) is in direct message view. When: Another user (B) connected with direct message(A-B connection) sends a message Then: The message content appears in the direct message view. Exception: If the user(A) is doing a direct message with a third party (C) or is watching a channel, it indicates that a new message has arrived.
User can get info about new user Given: User(A) is connected to the channel. When: Another user(B) connects. Then: Other user's information(B) is added to the user list(A). Exception:
User can get info about deleted user Given: User(A) is connected to the channel. When: Another user(B) disconnects. Then: The information of the disconnected user(B) is removed from the user list(A). Exception: The message submit button disappears so that you can no longer talk to the user(A) if doing direct message(A-B connection).
User can sign out Given: User is connected to the channel. When: The user click sign out button Then: The user move to channel access view
TA's Feedback
1. Project Requirements and Specification
총평 : 문서를 좀 더 보강해야한다!
[x] 디테일이 부족함 : 유저 스토리가 너무 짧다. 가정들이 빠져있고, 그 가정들을 어떻게 확인 할 수 있을지. 예외와 Testing도 첨가해야할 듯 @sdu6342
[ ] 스프린트마다 무엇을 해야할 지 Requirements 문서에 들어가야한다. @KyoungWan
[ ] 문서에 오타가 조금 있다. @hwan517h1
[x] 유저스토리를 둘로 나눴는데 왜 나눴는가에 대한 이유가 필요하다. @sdu6342 나누지않는 것으로 변경
[ ] QR 코드가 Reader가 아니라 주소를 가르킨다는 것을 적어야한다(디자인 문서에 할 것).
[ ] UI 설명을 추가하도록 하고, 더 명확한 그림이 필요하다(모든 라우팅 + 예외 처리).
[ ] 유저 중 1:1로 자동 매칭해주는 앱을 조사해보면 좋겠다. @hwan517h1
2. Our Project And Design and Planning Document
[ ] Class보다는 Behavior(어떤 요청을 주고 받는지)
[x] Web Socket의 요청과 관련한 프로토콜 문서가 필요할 수도 있겠다. 예외 핸들링이 HTTP같이 되어있는게 없어서 해야한다.
[x] typescript에서 any로 받는 type을 새로 명명하면 문제를 해결할 수 있다. 함수가 조금 멍청해지기는 하지만
[x] 회원가입이 아닌 중요한 기능들부터 먼저 조사 및 실습 해보는 것은 좋았다.