The web application is expected to meet the following requirements:
1. At least the following pages are expected to be included:
* The main (home) page letting users select the type of user and action ahead;
* Login/registration page for end-users is required,
* A Dashboard page for end users (customers),
* A Dashboard page for AI developers,
* A Dashboard page for finance team members,
* A Dashboard page for “admin” users that lets to process the operations as required.
2. A user should be able to navigate through the pages, smoothly, and especially be able to access to its own dashboard and the home page from any page.
3. A member should remain logged in until either the session is timeout or user is changed/logged out. With this respect, access to any different member’s dashboard must be secured.
4. The database is required to be separately deployed and connected via Docker containers. If a similar is work done for Advanced Databases module, that may be reused.
5. The ‘Machine Learning As A Service’ can be deployed on another separate container and be accessed via web/restful services.
6. The whole system should be using:
* Python Django following MVC (MVT) patterns,
* A Database system, (e.g., MySQL, PostgreSQL etc.,) should be separately deployed and accessed for handling data,
* Deployment should be conducted via Docker containers,
* Django Restful Framework (DRF) should be used together with Docker for creating, deploying, and accessing the services.
Members
-------
* Brody Wilson
* Hamid Rahman
* James Smith
* Kacper Drupisz
* Micheal Gamston
Development Plan
---------------
### Sprint 1 (Week 1-2)
| Task | Description | Assigned To |
| --- | --- | --- |
| Set up project structure and environment (Python Django, Docker) | Set up the project structure and environment using Python Django and Docker | |
| Create user stories and define acceptance criteria for each story | Create user stories and define acceptance criteria for each story | |
| Develop the main page with user selection options | Develop the main page with user selection options | |
| Develop the login/registration page for end-users | Develop the login/registration page for end-users | |
| Implement user authentication and authorization | Implement user authentication and authorization | |
### Sprint 2 (Week 3-4)
| Task | Description | Assigned To |
| --- | --- | --- |
| Develop the dashboard pages for end users, AI developers, finance team members, and admin users | Develop the dashboard pages for end users, AI developers, finance team members, and admin users | |
| Implement navigation between pages and ensure that users can access their own dashboard and the home page from any page | Implement navigation between pages and ensure that users can access their own dashboard and the home page from any page | |
| Ensure that users remain logged in until the session times out or the user is changed/logged out | Ensure that users remain logged in until the session times out or the user is changed/logged out | |
### Sprint 3 (Week 5-6)
| Task | Description | Assigned To |
| --- | --- | --- |
| Deploy the database separately via Docker containers and connect it to the web application | Deploy the database separately via Docker containers and connect it to the web application | |
| Develop the Machine Learning as a Service component and deploy it on another separate container | Develop the Machine Learning as a Service component and deploy it on another separate container | |
| Integrate the Machine Learning as a Service component with the web application | Integrate the Machine Learning as a Service component with the web application | |
### Sprint 4 (Week 7-8)
| Task | Description | Assigned To |
| --- | --- | --- |
| Conduct testing and debugging of the entire system | Conduct testing and debugging of the entire system | |
| Ensure that the system meets all requirements and acceptance criteria defined in Sprint 1 | Ensure that the system meets all requirements and acceptance |