The purpose of this poject is to demonstrate the use of SignalR in a real-time chat application.
User should be able to perform the following actions:-
- Login and Register to the application.
- Search other users
- Send personal messages to users
- Get user current status
- Create groups
- Add/Remove members
- As a user I should be able to enter email and passwrod to login to the application.
- As a user I should be able to use Google signin to login to the application
-
Validations
Validate Error Message Required Fields : Email, Password $FieldName cannot be empty Email not in system Email does not exist. Please register if you are new Wrong email/password Email or Password is incorrect -
API
-
URL: api/auth/login
- Method: GET
- Params: email, password
- Success Response:
{user:{UserDetails},token:JWT token}
- Error Response:
- Code:401
- Message: Email/Password is incorrect /You have registered using Google. Please use Google login below
-
- As a user I should be able to register to the application.
- As a user I should be able to use Google account to register to the application
-
Validations
Validate Error Message Required Fields : First Name,Last Name,Email, Password $FieldName cannot be empty Email already in system Email already in use. Please login or use another email Password Min Length 8 Password needs to be minimum 8 characters -
API
-
URL: api/auth/register
- Method: POST
- Params:
{ firstName: $firstName, lastName: $lastName, email: $email, password: $password }
- Success Response: 201
- Error Response: 400
-
URL: api/auth/check-email
- Method: GET
- Params: email
- Success Response: Email already in use. Please login or use another email/ Email does not exist. Please register if you are new.
- Error Response: 404
-
- As a user I should be able to search all users using First name, Last Name and Email
- Search results should exclude current user and useres already present in context (users in contact list or users already added in group )
-
API
- URL: api/auth/search-user
- Method: GET
- Params: userSearch, maxResults, page
- Response: [{UserDeatils}]
- URL: api/auth/search-user
-
As a user I should be able create new One-One conversation after searching user
-
As a user I should be able to create new Group conversation
- As a user I should be able to send messages to individual users
- As a user I should be able to read messages from a user