mirror of
https://github.com/blasten/turn.js.git
synced 2026-07-14 13:51: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.
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.