Application allows new user to sign up from email invitation for an account.
Application allows existing user to sign in and sign out.
Application enforce requirements for user-entered password to ensure password strength.
Application allows the user to reset their password if they forgot their password.
Implement a dashboard/portal page.
Make the website more aesthetically pleasing.
Implement a profile page to allow users to manage their account.
Implement functionalities to allow superadmin/admin to set up reviews for providers.
Implement functionalities for provider teams management, such as adding, editing and deleting.
Application enforces access restrictions for different pages or functionality based on the user's role.
Implement review-specific login.
Add formulas that can format and process providers data.
The user interface must be easy to use and intuitive.
Documentation should be provided for troubleshooting and future developers.
Maintain data integrity and privacy.
Deploy the application on a server.
None.
Note: Our project was inherited from previous semesters, so the platform was already selected.
Frontend – Angular and TypeScript
Backend – MongoDB Atlas, Express, NodeJS and TypeScript
Alternatives:
React. React has a rich ecosystem of third-party libraries and is generally easier to pick up. It allows more freedom for structuring an application. Since the project already uses Angular and it provides an out-of-the-box solution for most needs, we're sticking to Angular. The two-way data binding feature is particularly beneficial for the data-heavy nature of this project. Also, migrating to React would require a significant overhaul of the current codebase.
Javascript. Previous teams have attempted using JavaScript for the backend but eventually decided to use TypeScript as it fixed some bugs that JavaScript introduced. We are sticking with TypeScript because its static typing provides early detection of errors, and we can maintain consistent syntax, language features, and paradigms throughout the application.
Python. Our team has more experience using Python for the backend. However, rewriting the logical code was, again, too much work to consider switching.