-
Deploy: Connections
-
Registration - 60 points
- page with dedicated url: 5 points
- validation for name and email fields with error messages: 5 points
- validation for password field with error messages: 5 points
- redirection to sign-in page after successful registration: 5 points
- toast messages with appropriate text are displayed if http-request fails or succeed: 10 points
- Submit button is disabled if form is invalid. Also, it should be disabled after http error with type
PrimaryDuplicationExceptionuntil the user changes the field value: 10 points - Submit button is disabled and
emailfield has error message of taken account if user type the same email address that he tried to send before and got an errorPrimaryDuplicationException: 10 points - Submit button is disabled after clicking while http-request is in progress: 10 points
-
Login - 70 points
- default page for unauthorized user: 10 points
- validation for email field with error messages: 5 points
- validation for password field with error messages: 5 points
- redirection to the main page after successful authentication: 10 points
- toast messages with appropriate text are displayed if http-request fails or succeed: 10 points
- Submit button is disabled if form is invalid. Also, it should be disabled after http error with type
NotFoundExceptionuntil the user changesemailorpasswordfield value: 10 points - Submit button is disabled after clicking while http-request is in progress: 10 points
-
token,uidandemailvalue is saved inlocalStorageafter successful sign in and used again in the following http-requests even after page reloading (it allows user to omit sign in again after page reloading): 10 points
-
Profile - 40 points
-
user id,email,creation time,user namedata of current user is displayed on the page: 30 points - error message with appropriate text are displayed on the page if loading http-request fails (for instance, if internet connection is lost): 10 points
-
-
Update profile - 55 points
- button Edit makes
namefield editable: 10 points - button Cancel returns initial page state (static appearance): 5 points
- clicking the button Save sends 1 http-request to save new data without the ability to click it again (along with Cancel button) until process is end: 20 points
- buttons Cancel and Save are visible ony for editable form: 5 points
- button Edit is visible only for static page: 5 points
- toast messages with appropriate text are displayed if http-request fails or succeed: 10 points
- button Edit makes
-
Logout - 40 points
- clicking on
Logoutbutton the http-request is sent withDELETEmethod: 10 points - user is redirected to Sign-In page after successful logout process: 10 points
- all data in
cookies,localStorageis deleted: 10 points - toast messages with appropriate text are displayed if http-request fails or succeed: 10 points
- clicking on
-
People and group sections - 175 points
- default page for authorized user: 10 points
- page is divided on 2 vertical sections with independent content: 5 points
- Group section (left)
- the list of available groups is loaded if user opens this page first time: 5 points
- the list item created by current user should contain Delete button: 10 points
- the confirmation modal appears after clicking on Delete button on list item with Cancel, Delete button inside. If user clicks Cancel the modal disappears. If user clicks Delete the http-request is sent and item is removed from the list after succeeded response: 15 points
- clicking on Update button sends corresponding http-request and update group list if succeeded: 10 points
- countdown appears for 1 minute after clicking on Update button (except if error occurs): 10 points
- Update button is disabled after clicking during updating and until the timer is active: 5 points
- clicking on Create button the modal window is opened. There is form with validation and submit button: 10 points
- submit button in modal window should be disabled until form is valid: 5 points
- clicking on submit button in modal window the appropriate http-request is sent to create new group. Modal window is closed only if http-request succeeded: 15 points
- toast messages with appropriate text are displayed if http-request fails or succeed: 10 points
- clicking on list item the user is redirected to group dialog page: 5 points
- People list (right)
- the list of people is loaded if user opens this page first time: 10 points
- the list item with which current user already has active conversation has special background: 10 points
- clicking on Update button sends corresponding http-request and update people list if succeeded: 10 points
- countdown appears for 1 minute after clicking on Update button (except if error occurs): 10 points
- Update button is disabled after clicking during updating and until the timer is active: 5 points
- clicking on list item the user is redirected to personal conversation page. New conversation (via certain http-request) is created if it has not already created before transition: 15 points
-
Group dialog - 140 points
- the page is protected by a guard only for authorized user: 5 points
- the error message is displayed if group with provided id does not exist: 10 points
- Return back is a link, not a button: 5 points
- the full message history is loaded if user visit this page first time: 10 points
- only the last messages (using
sinceparameter) are loaded if user opens this group conversation again: 20 points - only the last messages (using
sinceparameter) are loaded if user clicks on Update button: 20 points - messages in corresponding area are sorted by time. New messages are appended at the bottom: 5 points
- message item contains readable time, user name and text. Own messages are displayed on the right. Other messages are displayed on the left: 10 points
- countdown appears for 1 minute after clicking on Update button (except if error occurs): 10 points
- Update button is disabled after clicking during updating and until the timer is active: 5 points
- group is created by current user should contain Delete button: 10 points
- the confirmation modal appears after clicking on Delete button with Cancel, Delete button inside. If user clicks Cancel the modal disappears. If user clicks Delete the http-request is sent and the user is redirected to main page after succeeded response: 10 points
- form field has
requiredvalidator. Send new message button is disabled until field has text: 5 points - new messages are loaded (using
sinceparameter) after successful sending new message: 15 points
-
People conversation - 140 points
- the page is protected by a guard only for authorized user: 5 points
- the error message is displayed if conversation with provided id does not exist: 10 points
- Return back is a link, not a button: 5 points
- the full message history is loaded if user visit this page first time: 10 points
- only the last messages (using
sinceparameter) are loaded if user opens this group conversation again: 25 points - only the last messages (using
sinceparameter) are loaded if user clicks on Update button: 25 points - messages in corresponding area are sorted by time. New messages are appended at the bottom: 5 points
- message item contains readable time, user name and text. Own messages are displayed on the right. Other messages are displayed on the left: 10 points
- countdown appears for 1 minute after clicking on Update button (except if error occurs): 10 points
- Update button is disabled (user cannot click it) after clicking during updating and until the timer is active: 5 points
- the confirmation modal appears after clicking on Delete button with Cancel, Delete button inside. If user clicks Cancel the modal disappears. If user clicks Delete the http-request is sent and the user is redirected to main page after succeeded response: 10 points
- form field has
requiredvalidator. Send new message button is disabled (user cannot click it) until field has text: 5 points - new messages are loaded (using
sinceparameter) after successful sending new message: 15 points
-
404 page - 30 points
- error message is displayed about wrong url/page: 30 points
-
Style theme - 50 points
- chosen state is saved in
localStorageand used/applied after reloading. User can refresh the page and see the same theme: 20 points - light/dark styles are applied to main page: 10 points
- light/dark styles are applied to group dialog page: 10 points
- light/dark styles are applied to personal conversation page: 10 points
- chosen state is saved in
Pages available only for users before authorization. That pages are not available for users after successful authorization and protected by Guards.
/signup (registration)
Page to create new account.
/signin (login)
Page where user can enter email and password to enter the platform. Default page for non-authorized users.
That pages allowed only for authorized users. Should be protected by Guards.
/ (main page)
Page with group list and people list.Default page for authorized users.
/profile (user profile)
User's information with the ability to edit it.
/group/{:groupID} (broadcast page)
where, :groupID is unique group identifier;
Page where user can send message to all participants.
/conversation/{:conversationID} (person dialog)
where, :conversationID is unique room identifier with interlocutor;
Page where user can write personal messages directly.
This project was generated with Angular CLI version 16.2.7.
Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory.
To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.