diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a1f88393e9ecea729c35ab88b375e23e022ca1e4 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +Web Application Development Plan +=============================== + +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 |