Assignment Details
1. Team's code standards
in here https://github.com/MingqiLi2003/Electro-Boy.git
2. Overview: Development Task Analysis
The core goal of the Electro Boy project is to develop a Dormitory Property Management System, combining front-end and back-end functionality, real-time data management, and efficient user experience tools to provide an easy and effective solution for managing dormitory-related matters.
2.1 Overview of Development Tasks
The development tasks are divided into the following three layers:
Hardware Service Layer
- Embedded devices have been developed to manage dormitory-related data, including utility bills, maintenance requests, and notifications.
- The communication module and data transmission system have been set up to support real-time updates of dormitory management.
Data Persistence Layer
- An IoT middleware based on the Express framework has been developed to ensure smooth communication and data transmission from front-end to back-end.
- Backend development using MySQL has been completed to support real-time data storage and management for dormitory utilities, maintenance logs, and notifications.
- A user database has been established to support management of student information, including dormitory assignments and payment history.
Application Display Layer
- The Android application based on the Vue3 framework and Echarts has been developed to allow students to check utility bills in real-time, pay online, submit maintenance requests, and receive notifications.
- The Web platform, developed using HTML and CSS, allows administrators to manage dormitory operations, track student requests, and send announcements.
2.2 Work Completed So Far
After the initial development and technical integration, the following tasks have been completed:
Hardware Layer
- Embedded development is complete, with the sensor network operating stably to monitor dormitory-related data in real time.
- Devices have been deployed and tested, with the data transmission module functioning properly to update dormitory information.
Data Persistence Layer
- The MySQL backend database architecture has been completed to store and manage dormitory utility data, maintenance requests, and student information.
- The user database has been built, and initial user management systems are functioning as expected.
- Real-time data processing for utility bill updates and maintenance request tracking has been integrated.
Application Display Layer
- The UI design for the Android app and Web platform has been completed, providing a seamless user experience for students and administrators.
3 Team Division of Labor
Student ID | Task Description | Contribution |
---|
832202210 Li Mingqi | Project Management and Communication - Developing Project Plans, Teamwork, and Progress Monitoring | 10% |
832102217 Chen Yuyan | Front-end Architecture and UI Design - Building Front-end Framework, Writing Components, and Designing UI | 10% |
832202201 Ding QingYe | Front-end Function Development - Implementing Front-end Functions for Student and Administrator Modules | 10% |
832202216 Aoyu Zhang | Front-end optimization and debugging - Front-end performance optimization, bug fixing | 10% |
832202220 Chen Shitao | Backend Architecture and API Design - Building a Backend Framework and Designing API Interfaces | 10% |
832202203 Gaozhengyi Wang | Backend Function Development - Implementing Backend Functions for Student and Administrator Modules | 10% |
832202219 Chen Zeyun | Backend Optimization and Database Integration - Backend Performance Optimization, Database Connection Optimization | 10% |
832202228 Zhang Yidong | Database Design and Optimization - Design database table structure, optimize queries | 10% |
832202207 Rui Zhu | Test Case Writing - Writing Front-end Test Cases, Front-end Function Testing | 10% |
832202212 Mingxuan Xiao | Test Case Execution - Writing Backend Test Cases, Testing Backend Functionality | 10% |
832202211 Qi Li | Deployment and Operations - Project Deployment, Monitoring, and Continuous Integration | 10% |
Team Structure
Development Team (6 members)
- Responsibilities: Responsible for front-end and back-end functionality development and API implementation.
Testing Team (5 members)
- Responsibilities: Responsible for designing and executing test cases to ensure functionality completeness.
Blog Team (6 members)
- Responsibilities: Responsible for writing, publishing, and updating blogs to regularly showcase project progress.
PPT Team (11 members)
- Responsibilities: Responsible for preparing the final presentation PPT on the last day to showcase the project results.
4. Daily Task Plan
Day 1: November 27th
Development Tasks
Front-end Team
- Initialize Vue3 project and set up the basic page framework.
- Create the login page (Login.vue) and device management page (Devices.vue).
Back-end Team
- Initialize Spring Boot project, complete the database table (Users) for the user module.
- Configure MySQL database connection and complete the registration and login API.
Testing Tasks
- Write test cases for user registration and login.
Blog Tasks
- Write the blog "Code Standards and Sprint Plan", describing the development tasks, timeline, and objectives.
- Create the "Special Blog Collection" page to record subsequent blog links.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 2: November 28th
Development Tasks
Front-end Team
- Complete the registration page (Register.vue) and implement input validation.
Back-end Team
- Implement back-end logic for user registration and login, returning JWT.
Testing Tasks
- Use Postman to test the registration and login API and verify front-end and back-end interaction.
Blog Tasks
- Publish the first sprint blog: Show burndown chart, project initialization progress, and screenshots.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 3: November 29th
Development Tasks
Front-end Team
- Develop basic functionality for the device management page, including add and delete buttons for devices.
- Create a multi-device list display page.
Back-end Team
- Implement APIs for adding, deleting, and querying devices.
Testing Tasks
- Test the device management module's API functionality.
Blog Tasks
- Update "Special Blog Collection".
Corresponding Teams
Development Team, Testing Team.
Day 4: November 30th
Development Tasks
Front-end Team
- Integrate Axios to call the device management API, ensuring device add and delete functions work correctly.
Back-end Team
- Simulate the real-time monitoring data API (GET /monitoring/{deviceId}).
Testing Tasks
- Write test cases for the real-time monitoring module to validate data format and stability.
Blog Tasks
- Publish the second sprint blog: Show progress of the device management module, with burndown chart and screenshots.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 5: December 1st
Development Tasks
Front-end Team
- Develop the real-time monitoring page (Monitoring.vue) and integrate Echarts to display real-time data curves.
Back-end Team
- Integrate water temperature prediction algorithm and provide prediction API (GET /monitoring/predict/{deviceId}).
Testing Tasks
- Test the response time and accuracy of the prediction algorithm API.
Blog Tasks
- Update "Special Blog Collection".
Corresponding Teams
Development Team, Testing Team.
Day 6: December 2nd
Development Tasks
Front-end Team
- Implement integration of real-time monitoring page and prediction data display.
Back-end Team
- Develop alarm record API.
Testing Tasks
- Test the alarm record module to ensure data storage and query functionality.
Blog Tasks
- Publish the third sprint blog: Show progress on real-time monitoring and prediction functionality.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 7: December 3rd
Development Tasks
Front-end Team
- Develop the intelligent Q&A page (QA.vue), integrating voice input functionality.
Back-end Team
- Complete the intelligent Q&A API, integrating the BERT model and knowledge graph.
Testing Tasks
- Test the semantic recognition effect of the intelligent Q&A feature.
Blog Tasks
- Update "Special Blog Collection".
Corresponding Teams
Development Team, Testing Team.
Day 8: December 4th
Development Tasks
Front-end Team
- Develop the multi-device location page (Location.vue) and integrate AMap API.
Back-end Team
- Develop the device location API to provide latitude and longitude data.
Testing Tasks
- Test the functionality and map loading performance of the device location module.
Blog Tasks
- Publish the fourth sprint blog: Show progress on intelligent Q&A and device location modules.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 9: December 5th
Development Tasks
Front-end Team
- Integrate all feature pages and optimize the interface layout.
Back-end Team
- Perform database optimization to improve query efficiency.
Testing Tasks
- Complete system-wide testing and fix all identified issues.
Blog Tasks
- Write a testing blog, describing testing tools, test case design, and results.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Day 10: December 6th
Development Tasks
Front-end Team
- Package the front-end project and prepare for deployment.
Back-end Team
- Deploy the back-end service to Ali and perform final integration testing.
Testing Tasks
- Conduct the final regression testing to ensure the system runs stably.
Blog Tasks
- Publish the fifth sprint blog: Summarize the sprint results, including complete screenshots and videos of the system running.
PPT Tasks
- Prepare the defense PPT showcasing the burndown chart, project functionalities, testing results, and improvement plans.
Corresponding Teams
Development Team, Testing Team, Blog Team, PPT Team.
5.PSP Table for "Electro Boy" Project
Phase | Planned Hours | Actual Hours | Deviation | Comments |
---|
Planning | 4 | 5 | +1 | The planning phase took longer due to more detailed scope definition and task breakdown. |
Design | 6 | 7 | +1 | Additional time spent on UI/UX design and system architecture discussions. |
Development | 40 | 45 | +5 | Development took longer due to unanticipated integration challenges with backend services and API interactions. |
Testing | 12 | 14 | +2 | Extra time needed to test all APIs and conduct integration testing between modules. |
Documentation | 8 | 6 | -2 | Documentation process was completed ahead of schedule with thorough API and UI documentation. |
Code Review | 4 | 4 | 0 | Code review process went smoothly as per the planned timeline. |
Deployment | 6 | 5 | -1 | Deployment phase was completed faster due to prior testing and fewer deployment issues. |
Total | 80 | 81 | +1 | Overall, the project stayed close to the planned timeline with minor deviations. |