FocusFlow Alpha Sprint Code Standard & Sprint Plans

FOCUS_2025_SE 2025-12-12 20:14:57

目录

  • 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

Course2501_MU_SE_FZU
Assignment RequirementFifth Assignment - Alpha Sprint
Team NameFocus_2025
Goal of this assignmentClarify Code Standards, Sprint Tasks, and Plans for the team Alpha Sprint
Other referencesIEEE 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:

  1. Login Functionality:

    • Complete phone number/password login
    • Add verification code login option
  2. 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:

  1. Task CRUD Operations:

    • Add new tasks (title, description, course, priority, etc.)
    • Edit existing tasks
    • Delete tasks
    • View task lists
  2. Task Status Management:

    • Mark tasks as complete/incomplete
    • Support task priority setting (high/medium/low)
    • Display task due dates and statuses
  3. 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:

  1. Core Focus Mode Features:

    • Implement countdown functionality (focus time/break time)
    • Support custom focus and break durations
    • Add start/pause/reset/skip functionality
  2. Study Duration Statistics:

    • Record each focus session duration
    • Display total study duration
    • Statistics by day/week/month
    • Associate with user account
  3. 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:

  1. 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
  2. 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)
  3. 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:

  1. User Report Generation:

    • Generate daily/weekly/monthly study reports
    • Display task completion statistics
    • Show study duration statistics charts
  2. Data Visualization:

    • Use charts to display learning trends
    • Show task completion rate statistics
    • Display focus duration distribution
    • Support interactive chart operations
  3. 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

RiskCountermeasure
Task delaysIdentify critical paths in advance, reserve buffer time, adjust task scope if necessary
Technical difficultiesDiscuss within the team, seek external resources, simplify implementation if necessary
Code conflictsUse Git branches appropriately, merge code regularly, conduct code reviews
Requirement changesFreeze 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
...全文
48 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

164

社区成员

发帖
与我相关
我的任务
社区描述
2501_MU_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_LQF
  • 助教_林日臻
  • 朱仕君
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧