目录
- Project Overview
- I. Code Standards
- 1. Python Code Standards - Follow PEP 8
- 2. JavaScript Code Standards - Follow ES6+
- 3. HTML/CSS Code Standards
- II. Sprint Task Plan
- Period 1 - Login + Personal Center (Dec 12-13)
- Task Description:
- Specific Features:
- Technical Requirements:
- Acceptance Criteria:
- Period 2 - Task Management (Dec 14-15)
- Task Description:
- Specific Features:
- Technical Requirements:
- Acceptance Criteria:
- Period 3 - Focus Mode (Dec 16-17)
- Task Description:
- Specific Features:
- Technical Requirements:
- Acceptance Criteria:
- Period 4 - Homepage Functionality (Check-in) (Dec 18-19)
- Task Description:
- Specific Features:
- Technical Requirements:
- Acceptance Criteria:
- Period 5 - User Report Module (Dec 20-21)
- Task Description:
- Specific Features:
- Technical Requirements:
- Acceptance Criteria:
- III. Project Management and Collaboration
- 1. Daily Standup Meeting
- 2. Code Management
- 3. Documentation Requirements
- 4. Testing Requirements
- IV. Risks and Countermeasures
- V. Deliverables
Project Overview
| Course | 2501_MU_SE_FZU |
|---|
| Assignment Requirement | Fifth Assignment - Alpha Sprint |
| Team Name | Focus_2025 |
| Goal of this assignment | Clarify Code Standards, Sprint Tasks, and Plans for the team Alpha Sprint |
| Other references | IEEE Std 830-1998, GB/T 8567-2006 |
I. Code Standards
1. Python Code Standards - Follow PEP 8
- Naming Conventions:
- Variables and functions: snake_case (e.g.,
get_db_connection()) - Classes: CamelCase (e.g.,
UserDB) - Constants: ALL_UPPERCASE with underscores (e.g.,
DEFAULT_FOCUS_DURATION)
- Code Style:
- Indentation: 4 spaces
- Line length: Maximum 80 characters per line
- Empty lines: 2 lines between classes, 1 line between class methods
- Comments: Add docstrings for functions, single-line comments for key logic
- Best Practices:
- Use
try-except-finally for database connections to ensure proper closure - Handle exceptions appropriately to prevent crashes
- Security: Store passwords with hashing, use parameterized queries to prevent SQL injection
2. JavaScript Code Standards - Follow ES6+
- Naming Conventions:
- Variables and functions: camelCase (e.g.,
initSidebar()) - Classes: PascalCase (e.g.,
FocusTimer) - Constants: ALL_UPPERCASE with underscores
- Code Style:
- Indentation: 2 spaces
- Line length: Maximum 80 characters per line
- Semicolons: Add at the end of statements
- Quotes: Use single quotes for strings
- Best Practices:
- Use
document.addEventListener('DOMContentLoaded', ...) to ensure DOM is loaded - Use event delegation to reduce event listeners
- Use
fetch or axios for AJAX requests
3. HTML/CSS Code Standards
- HTML: Use semantic tags, 2-space indentation, double quotes for attribute values
- CSS: Use BEM naming convention (e.g.,
.task-card__title), order properties alphabetically
II. Sprint Task Plan
Period 1 - Login + Personal Center (Dec 12-13)
Task Description:
Improve the user authentication system and personal center functionality, ensuring users can securely login and manage their personal information.
Specific Features:
Login Functionality:
- Complete phone number/password login
- Add verification code login option
Personal Center:
- Display user basic information (name, school, grade, etc.)
- Implement user information modification (name, email, gender, etc.)
- Implement password modification
Technical Requirements:
- Ensure password modifications use hashed storage
- Implement form validation (frontend + backend)
- Handle secure transmission of sensitive information
- Compatible with existing database structure
Acceptance Criteria:
- Users can successfully login to the system
- Users can view and modify personal information
- Modern interface with responsive design
- No security vulnerabilities
Period 2 - Task Management (Dec 14-15)
Task Description:
Implement complete task management functionality, including task CRUD operations, completion marking, and categorization.
Specific Features:
Task CRUD Operations:
- Add new tasks (title, description, course, priority, etc.)
- Edit existing tasks
- Delete tasks
- View task lists
Task Status Management:
- Mark tasks as complete/incomplete
- Support task priority setting (high/medium/low)
- Display task due dates and statuses
Task Categorization:
- Categorize tasks by course
- Filter tasks by priority
- Filter tasks by status (pending/in progress/completed)
- Add task tagging functionality
Technical Requirements:
- Persist task data storage
- Implement task sorting functionality
- Compatible with existing database structure
Acceptance Criteria:
- Users can successfully add, edit, and delete tasks
- Task status can be toggled normally
- Support filtering tasks by multiple criteria
- Normal data persistence
Period 3 - Focus Mode (Dec 16-17)
Task Description:
Improve the focus mode functionality, implementing countdown and study duration statistics.
Specific Features:
Core Focus Mode Features:
- Implement countdown functionality (focus time/break time)
- Support custom focus and break durations
- Add start/pause/reset/skip functionality
Study Duration Statistics:
- Record each focus session duration
- Display total study duration
- Statistics by day/week/month
- Associate with user account
Other Features:
- Block certain apps/websites during focus (optional)
- Visual display of focus status
Technical Requirements:
- Use JavaScript timers for accurate countdown
- Persist focus data storage
- Implement sound reminder functionality
- Compatible with existing database structure
Acceptance Criteria:
- Countdown functionality works normally
- Focus duration is recorded correctly
- Sound reminders work normally
- Support custom duration settings
- Modern interface with smooth operations
Period 4 - Homepage Functionality (Check-in) (Dec 18-19)
Task Description:
Improve homepage functionality, implementing check-in system and user data overview.
Specific Features:
Check-in Functionality:
- Implement daily check-in feature
- Display check-in status (checked-in/not checked-in)
- Calculate consecutive check-in days
- Display this month's check-in count
Homepage Data Overview:
- Display number of pending tasks
- Show today/this week's study duration
- Display user statistics (total study time, task completion rate, etc.)
- Add quick access functionality (jump to tasks, focus, reports)
Personalization Settings:
- Support homepage layout customization
- Display personalized greetings
Technical Requirements:
- Persist check-in data storage
- Implement consecutive check-in algorithm
- Real-time update of homepage data
- Compatible with existing database structure
Acceptance Criteria:
- Check-in functionality works normally
- Consecutive check-in days are calculated correctly
- Homepage displays user data overview
- Beautiful interface with responsive design
Period 5 - User Report Module (Dec 20-21)
Task Description:
Implement user report module and data synchronization functionality.
Specific Features:
User Report Generation:
- Generate daily/weekly/monthly study reports
- Display task completion statistics
- Show study duration statistics charts
Data Visualization:
- Use charts to display learning trends
- Show task completion rate statistics
- Display focus duration distribution
- Support interactive chart operations
Data Synchronization:
- Implement local storage and cloud synchronization (optional)
- Support data import/export functionality
- Ensure security and reliability of data synchronization
Technical Requirements:
- Use Chart.js or other chart libraries for data visualization
- Implement report generation functionality
- Ensure security of data synchronization
- Compatible with existing database structure
Acceptance Criteria:
- Can generate multiple types of user reports
- Data visualization charts display normally
- Support report download functionality
- Data synchronization works normally (if implemented)
- Beautiful interface with accurate data
III. Project Management and Collaboration
1. Daily Standup Meeting
- Time: 7:00 PM daily, lasting 15 minutes
- Content:
- Work completed yesterday
- Plans for today
- Problems encountered and help needed
2. Code Management
- Use Git for version control
- Create independent branches for each feature module
- Conduct code reviews before submitting
- Ensure code meets specified standards
3. Documentation Requirements
- Write README documentation for each feature module
- Record implementation details of key features
- Write user manuals
4. Testing Requirements
- Conduct unit tests for each feature module
- Perform integration tests to ensure module compatibility
- Conduct user testing to gather feedback
IV. Risks and Countermeasures
| Risk | Countermeasure |
|---|
| Task delays | Identify critical paths in advance, reserve buffer time, adjust task scope if necessary |
| Technical difficulties | Discuss within the team, seek external resources, simplify implementation if necessary |
| Code conflicts | Use Git branches appropriately, merge code regularly, conduct code reviews |
| Requirement changes | Freeze core requirements, record new requirements for future versions |
V. Deliverables
- Complete runnable FocusFlow application
- Test reports for each feature module
- User manual
- Project technical documentation
- Source code repository