1. Code Standards

In order to ensure smooth collaboration and maintain high-quality code throughout the project, we have established a set of code standards based on industry best practices. These standards will guide our development process, ensuring that our code is maintainable, readable, and testable. We have adopted guidelines from Alibaba's Java Development Manual and Huawei's Internal Code Standards, along with adjustments to suit the specifics of our project.

1.1 Naming Conventions

  • Variables: Use camelCase for variable names, starting with a lowercase letter. Example: userName, totalAmount.

  • Constants: Use UPPERCASE letters with underscores to separate words. Example: MAX_LENGTH, DEFAULT_TIMEOUT.

  • Class Names: Use PascalCase (UpperCamelCase) for class names, starting with an uppercase letter. Example: UserService, OrderController.

  • Methods: Use camelCase for method names, starting with a verb. Example: getUserInfo(), processOrder().

1.2 Code Structure

  • Directory Structure: We organize the project files based on functional modules. The overall structure looks like this:

    • src/

      • frontend/: Front-end code

      • backend/: Back-end code

      • models/: Model training code

    • Modularity: Break down large classes into smaller, more manageable components to avoid bloated classes.

    • Commenting: Every function and class must be well-commented, describing its purpose, input/output parameters, and any complex logic.

1.3 Git Commit Guidelines

  • Commit Message Format: Each commit message should be concise and follow this format:

    • [Module] Description of changes

    • Example: [Login] Fixed issue with invalid input on login page

  • Branch Strategy: We follow the Git Flow branching model. Development tasks should be done in feature branches, which will be merged into dev and later into main for release.

1.4 Code Review Process

  • Every commit must undergo at least one team member review before it is merged. This ensures that the code adheres to our standards and is free of potential issues.

  • Reviewers focus on: code style, logic clarity, performance, security, and testability.

1.5 Unit Testing Guidelines

  • Every module must have corresponding unit tests, and the test coverage should be at least 80%.

  • Test method names should follow this convention: testFunctionName_expectedBehavior(). Example: testLogin_validCredentials_shouldReturnSuccess().

2. Current Sprint Tasks and Plan

2.1 Sprint Goals

The sprint period is from December 12, 2025 to December 21, 2025. During this sprint, we will focus on implementing and refining three core features:

  1. Takeaway Pickup Face Recognition: Implement from image capture to displaying order details.

  2. Campus Vehicle/Pedestrian Flow Recognition: Detect and track vehicles and pedestrians on campus in real-time.

  3. Dormitory Face Recognition: Verify identity for dormitory access using facial recognition.

2.2 Task Distribution and Priorities

Takeaway Pickup Face Recognition (Priority: High):
  • Integrate face recognition with order details retrieval (e.g., pickup code, shop name, order number).

  • Responsible: Chen Jiayi (Model Training) & Guo Qiyu (Front-end Development)

Campus Vehicle/Pedestrian Flow Recognition (Priority: Medium):
  • Implement detection and real-time counting for campus vehicle and pedestrian flow.

  • Responsible: Chen Zhaojie (Team Leader) & Xia Peng (Back-end Development)

Dormitory Face Recognition (Priority: High):
  • Implement identity verification for dormitory access using facial recognition.

  • Responsible: Chen Qirong (Back-end Development) & Chen Yucheng (Front-end Development)

2.3 Sprint Plan

2025.12.12–12.13 (Log 1)
  • Goal: Start the project, set up the basic framework, and implement login, register, and password recovery functionalities.

  • Core Feature: Complete the minimal closed loop for Takeaway Pickup Face Recognition (image capture → recognition → order detail display).

2025.12.14–12.15 (Log 2)
  • Goal: Optimize the takeaway pickup face recognition functionality and add order details display.

  • Core Feature: Enhance the Takeaway Face Recognition system to bind recognition results with order details and improve failure handling.

2025.12.16–12.17 (Log 3)
  • Goal: Develop and debug the Campus Vehicle/Pedestrian Flow Recognition functionality, and integrate Dormitory Face Recognition.

  • Core Feature: Complete the vehicle and pedestrian flow counting system and dormitory access verification.

2025.12.18–12.19 (Log 4)
  • Goal: Integrate all modules and perform system-level testing.

  • Core Feature: Final testing of core modules (takeaway, flow recognition, dormitory verification) and bug fixing.

2025.12.20–12.21 (Log 5)
  • Goal: Finalize the product and complete all UI/UX optimizations.

  • Core Feature: Prepare for the final demo, and prepare the sprint presentation and defense PPT.

2.4 Future Steps

  1. Additional Features: After completing the core functionalities, we will add more features such as dormitory repair requests, campus calendar, and food court flow detection.

  2. Code Stability Optimizations: We will continue to conduct code reviews and write unit tests to ensure the code is stable and maintainable.

  3. Automated Testing: We will write automated test cases for each core functionality to improve code reliability.

3. Team Contributions & Task Allocation

Chen Zhaojie (Team Leader & Model Training)

  • Responsibilities:

    • Project coordination and progress management.

    • Neural network model design and training for computer vision tasks.

    • Final integration of performance for the core functions.

Guo Qiyu (Front-end Developer)

  • Responsibilities:

    • UI layout and visual design.

    • Implementation of interactive pages and user experience optimization.

    • Interface testing.

Chen Qirong (Back-end Developer)

  • Responsibilities:

    • Construction of server-side architecture and data flow management.

    • API development for communication between front-end and database.

Ou Chengze (Back-end Developer)

  • Responsibilities:

    • Database setup, maintenance, and optimization.

    • Assisting with cloud deployment and data backup mechanisms.

Zhou Yefeng (Back-end Developer)

  • Responsibilities:

    • Logic design for backend modules.

    • Java-based service implementation and documentation of data interface specifications.

Chen Yucheng (Secretary & Front-end Developer)

  • Responsibilities:

    • Team communication coordination, meeting minutes, and progress tracking.

    • UI/UX design and integration.

Chen Jiayi (Model Training)

  • Responsibilities:

    • Training YOLO-based vision detection models.

    • Dataset preprocessing, model validation, and visual output analysis.

Xia Peng (Back-end Developer)

  • Responsibilities:

    • Implementation of backend business logic.

    • Debugging APIs and managing server-database interaction reliability.

Yan Kaibin (Back-end Developer)

  • Responsibilities:

    • Database connection testing and error handling.

    • Assisting in backend module stability improvement.

Liang Zhechen (Front-end Developer)

  • Responsibilities:

    • Interface framework building, front-end code integration.

    • Adaptive layout optimization.

Zhang Chenhao (Front-end Developer)

  • Responsibilities:

    • Presentation design (PPT), blog formatting.

    • Assisting front-end UI debugging and testing.

Zheng Yupeng (Secretary & Documentation)

  • Responsibilities:

    • Organizing documents, assisting in simulation tool use, and code compilation testing.

    • Result recording.

更多推荐