mirror of
https://github.com/blasten/turn.js.git
synced 2026-05-28 06:08:14 +08:00
Build a comprehensive project tracking webapp with intuitive interface for managing team projects, tasks, and milestones. Features: - Dashboard with visual overview of all projects - Color-coded status indicators (on-track, at-risk, blocked, completed) - Project management with full CRUD operations - Task tracking with assignees and due dates - Milestone tracking with achievement status - Local storage for data persistence - Responsive design for all screen sizes - Sample data included for demonstration Technical implementation: - Vanilla JavaScript (ES6+) with no framework dependencies - Modern CSS with Grid and Flexbox layouts - Clean, maintainable code structure - Browser-based local storage for persistence The webapp provides team leaders with quick visibility into project health and helps identify risks that need immediate attention.
7.0 KiB
7.0 KiB
Team Project Tracker
A modern, intuitive web application for tracking team projects, tasks, milestones, and project health status.
Features
Dashboard Overview
- Quick Stats: Visual summary of all projects with color-coded status indicators
- 🟢 On Track (green) - Projects progressing well
- 🟡 At Risk (yellow) - Projects with potential issues
- 🔴 Blocked (red) - Projects that need immediate attention
- 🟣 Completed (purple) - Finished projects
- Project Cards: Grid view of all projects with progress indicators
- Real-time Updates: Dashboard updates automatically as you make changes
Project Management
- Create Projects: Define project name, description, owner, dates, and status
- Edit Projects: Update project details at any time
- Delete Projects: Remove projects when no longer needed
- Project Details: Comprehensive view of each project including:
- Project metadata (owner, dates, status)
- Task list with completion tracking
- Milestone tracking with achievement status
Task Management
- Add Tasks: Create tasks with:
- Name and description
- Status (To Do, In Progress, Completed, Blocked)
- Assignee
- Due date
- Edit Tasks: Update task details as work progresses
- Delete Tasks: Remove completed or cancelled tasks
- Visual Indicators: Color-coded borders show task status at a glance
Milestone Tracking
- Define Milestones: Set key project milestones with:
- Name and description
- Target date
- Status (Pending, Achieved, Missed)
- Track Progress: Monitor milestone achievement
- Visual Status: Clear indicators for milestone completion
Data Persistence
- Local Storage: All data is automatically saved to your browser
- No Backend Required: Works completely offline
- Sample Data: Includes example projects to get you started
Getting Started
Quick Start
- Open
index.htmlin your web browser - The app loads with sample projects to demonstrate features
- Start creating your own projects by clicking "+ New Project"
Usage
Creating a New Project
- Click the "+ New Project" button in the header
- Fill in the project details:
- Project Name (required)
- Description (optional)
- Status (required) - Select current health status
- Project Owner (optional)
- Start Date (optional)
- Target End Date (optional)
- Click "Save Project"
Managing Tasks
- Click on a project card to view details
- In the Tasks section, click "+ Add Task"
- Fill in task details and save
- Edit or delete tasks using the action buttons
- Change task status to track progress
Setting Milestones
- From the project detail view, go to the Milestones section
- Click "+ Add Milestone"
- Set the milestone name, date, and status
- Track achievement as you progress
Understanding Project Status
On Track (Green)
- Project is progressing as planned
- No significant blockers
- Team is meeting deadlines
At Risk (Yellow)
- Potential issues identified
- May miss deadlines without intervention
- Requires manager attention
Blocked (Red)
- Critical blockers preventing progress
- Immediate action required
- Escalation needed
Completed (Purple)
- Project successfully finished
- All tasks completed
- Archived for reference
Technical Details
Technology Stack
- HTML5: Semantic markup
- CSS3: Modern styling with CSS Grid and Flexbox
- Vanilla JavaScript: No frameworks, pure ES6+
- Local Storage API: Browser-based data persistence
Browser Support
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Any modern browser with ES6 support
File Structure
webapp/
├── index.html # Main HTML file
├── css/
│ └── styles.css # All styling
├── js/
│ └── app.js # Application logic
└── README.md # This file
Data Model
Project Structure:
{
id: "unique_id",
name: "Project Name",
description: "Project description",
status: "on-track|at-risk|blocked|completed",
owner: "Project Owner",
startDate: "YYYY-MM-DD",
endDate: "YYYY-MM-DD",
tasks: [...],
milestones: [...]
}
Task Structure:
{
id: "unique_id",
name: "Task Name",
description: "Task description",
status: "todo|in-progress|completed|blocked",
assignee: "Person Name",
dueDate: "YYYY-MM-DD"
}
Milestone Structure:
{
id: "unique_id",
name: "Milestone Name",
description: "Milestone description",
date: "YYYY-MM-DD",
status: "pending|achieved|missed"
}
Features Highlights
Intuitive Interface
- Clean, modern design
- Color-coded status indicators
- Easy navigation between views
- Responsive layout for all screen sizes
Quick Overview
- Dashboard provides instant project health visibility
- Stats cards show at-a-glance metrics
- Progress bars on project cards
- Visual differentiation of project status
Risk Management
- Clear identification of at-risk projects
- Blocked project highlighting
- Task-level status tracking
- Milestone achievement monitoring
Tips for Best Use
- Update Status Regularly: Keep project status current for accurate overview
- Use Descriptions: Add context to help team members understand work
- Set Realistic Dates: Target dates help track progress
- Assign Tasks: Clear ownership improves accountability
- Track Milestones: Break projects into measurable achievements
- Review Dashboard: Regular checks help identify risks early
Data Management
Exporting Data
Your data is stored in browser Local Storage. To backup:
- Open browser Developer Tools (F12)
- Go to Application > Local Storage
- Find key:
projectTrackerData - Copy the JSON value
Importing Data
To restore or import data:
- Open browser Developer Tools (F12)
- Go to Application > Local Storage
- Set key
projectTrackerDatawith your JSON data - Refresh the page
Clearing Data
To start fresh:
- Open browser Developer Tools (F12)
- Go to Application > Local Storage
- Delete key:
projectTrackerData - Refresh the page
Customization
The app uses CSS variables for easy theming. Edit css/styles.css:
:root {
--primary-color: #4f46e5; /* Main accent color */
--on-track: #10b981; /* Success/on-track color */
--at-risk: #f59e0b; /* Warning/at-risk color */
--blocked: #ef4444; /* Error/blocked color */
/* ... more variables */
}
Future Enhancements
Possible additions:
- Export to PDF/Excel
- Team member management
- Email notifications
- Calendar integration
- File attachments
- Comments and activity log
- Backend API integration
- User authentication
- Gantt chart view
- Time tracking
Support
For issues or questions about the Turn.js library, visit:
License
This webapp is part of the Turn.js project. See the main repository for license information.