This project is designed to handle the report when some schools needs Milk to be distributed to them
Minister adding Head of teacher and school name where Milk will be delivered.
Head of teacher approving the order and give feedback to those who deliver Milk
Approving orders on the order interface
Adding new User to be able to use our system
Inyange admin page to be to coordinate and monitor everything being done in the system
View shcools added by Minister because He/she is the one who add schools where Milk will be delivered
ID: 23608 NAMES: Jean Plaubert RUKUNDO
THE PURPOSE OF THE PROJECT Coordinating and monitoring Milk being distributed in Schools for students to be able to access a cup of Milk in schools even though some student may be able to drink milk home but then each student at school get a cup of milk for health as future professionals, and also manage the schools, distributors and minister who is in charge of schools to make the work easier and automated.
- Manages to add schools
- Manages Milk being delivered in schools
- Manages Distributor being deliver milk in school
- Manages Schools to approve milk being delivered.
- The system is not allowing anyone to register themselves to be able to use the system but then it allows admin to add users afterward user receive an email for login credentials to get Role Based Access Control as this system itβs for Inyange, schools, Ministers in charge of schools and Distributors, no one else.
- The system should have administrator to control the system and be able to add users in the system
- The system should have ministers to have ability to add new schools to the system, including relevant details such as school name, address, contact information, and delivery schedule preferences.
- The system should have Milk page so that admin can add any type of milk
- View and manage a list of all registered schools.
- The system should have distributors to have ability to update delivery schedules, routes, and quantities based on demand and logistics.
- The system should have school page where to specify the quantity and type of milk required for each delivery
- The system should have school page where access delivery schedules, track deliveries, and provide feedback on the quality of delivered products.
- Implement logging mechanisms for admin to track system activities, facilitating auditing and traceability of actions performed by users.
- The system should allow emails to be sent to users to get an access to the system.
- Load testing : Conducting regular load testing to ensure the system can handle peak loads without performance issues.
- Performance requirements ensuring responsiveness and scalability
- The system code must be easy to read and understand, with clear naming conventions, comments, and documentation.
- The system must be developed following best practices for code maintainability, such as using design patterns, avoiding code duplication, and keeping code complexity to a minimum.
- The system must be able to perform its functions efficiently and without errors under different load conditions, such as high traffic or peak usage.
- The system shall able to run on window 10 or window 11 without change in its behavior.
- Project Initiation Phase (1 day)
- Define project objectives,
- Define scope
- Define requirements.
- Develop a high project level plan
- Requirements gathering and analysis phase (1 day)
- Conduct detailed requirements gathering sessions
- Analyze existing processes and systems to identify gaps and improvement opportunities.
- Document functional and non-functional requirements
- Prioritize requirements based on their importance and feasibility.
- System Design Phase (1 day)
- Develop a detailed system architecture and design
- Design Database Schema
- Create wireframes and user interface mockups
- Development Phase (7 days)
- Implement the student management system based on the approved design
- Develop module for student registration
- Conduct regular sprints and iterations
- Perform unit testing to ensure functionality and quality of individual components
- Testing Phase (1 day)
- Conduct system testing to verify end-to-end functionality of the system
- Perform integration system to ensure smooth interactions between the module
- Identify any identified issues or bugs
- Deployment (1 day)
- Prepare the production environment for the deployment
- Project Team
- Project manager
- Software and Tools: Spring MVC
- Integrated Development Environment (IDE): IntelliJ
- Database Management System (DBMS): MySQL
- Version Control System: Git
- Training and Documentation:
- Training Materials: guides and training videos
- Documentation Tools: Google Docs for creating project documentation
Admin should login using email and password that he was assigned, and then starts to create minister who will manage schools and approve milk distribution from a certain distributor, and add schools. Schools will be added by minister and make an order for a school, then after school will approve that order and distributor will deliver the milk with a certain quantity. And when the milk reach to them they will give feedback.
- Architecture
- The student registration systems follow the Model-View-Controller (MVC) architectural pattern
- The backend is implemented using Java programming language and Spring boot framework
- The frontend is developed using HTML, CSS and JavaScript
- Development Environment
- Operating system: Windows 11
- IDE: IntelliJ
- Database: MySQL
- Backend Implementation
- The backend is implemented using Java and Spring boot
- The project is organized into different packages such as controllers, services, models and repositories.
- Data persistence is achieved using HTML, CSS and JavaScript
- Input validation and error handling are implemented using Spring validation and exception handling mechanisms
- Frontend Implementation
- The frontend is developed using HTML, CSS and JavaScript
- Thyme leaf template engine is used for server-side rendering of dynamic webpages
- Bootstrap is used for responsive
- Client-side form validation is implemented using JavaScript
- Database Implementation
- The database is implemented using MySQL
- The database Schema is used to store student information and their login credentials
- Security
- User authentication and authorization are implemented using spring security
- Access control is enforced based on user role and permission
- Deployment
- Configuration files such as application.properties is used to specify database connection settings and other system properties.
- Testing
- Integration testing is conducted to test the interaction between different pages of the system.
- Logging and Error handling
- Custom error page or exceptions handlers are implemented to provide a user-friendly experience in case of errors.
- Errors and exceptions are logged with appropriate severity and error messages.
- Maintenance
- The system is maintained using version control systems such as Git to track changes.
- Regular updates and bug fixes are performed to ensure system stability and security.
- System documentation is updated to reflect any changes or enhancements made to the system.
- User: Admin
- Email: [email protected]
- Password: admin
- User: Minister
- Email: [email protected]
- Password: 539476-582405
Here's the link: https://23608-inyange-milk-distribution-app.up.railway.app/