A professional, feature-rich task management web application with Firebase integration, multiple view layouts, and comprehensive productivity analytics.
- Task Management: Create, edit, delete, and organize tasks with detailed metadata
- Multiple View Layouts: Kanban, List, Grid, Timeline, and Calendar views
- Drag & Drop: Intuitive task movement between status columns
- Firebase Integration: Real-time cloud sync and authentication
- User Authentication: Email/password and Google OAuth support
- Offline Support: Local storage fallback when not authenticated
- Rich Task Details:
- Title and description
- Due dates and time ranges
- Difficulty levels (Easy, Medium, Hard)
- Importance ratings (Low, Medium, High)
- Custom tags and categories
- Checkpoints/sub-tasks with progress tracking
- Recurring tasks (Daily, Weekly, Monthly)
- Reminder notifications
- Advanced Search: Real-time search across task titles and descriptions
- Multi-criteria Filtering: Filter by date range, status, difficulty, and importance
- Tag Management: Create and manage custom tags with color coding
- Sorting Options: Sort by date, importance, progress, or due date
- Bulk Actions: Select and modify multiple tasks simultaneously
- Kanban Board: Three-column workflow (To-Do, In Progress, Done)
- List View: Compact linear task list
- Grid View: Card-based responsive grid layout
- Timeline View: Chronological task timeline
- Calendar View: Monthly calendar with task visualization
- Density Modes: Relaxed or Compact spacing options
- Dashboard Statistics: Total tasks, completed, in progress, overdue counts
- Progress Tracking: Overall completion percentage
- Visual Charts:
- Task completion trends
- Status distribution
- Weekly productivity metrics
- 6 Theme Options: Light, Dark, Blue, Green, Pink, Orange
- Responsive Design: Works on desktop, tablet, and mobile
- Smooth Animations: Polished transitions and interactions
- Keyboard Shortcuts: Quick access to common actions
- Collapsible Sections: Minimize/maximize form and analytics
- Archive System: Archive completed tasks for later reference
- Trash/Restore: Soft delete with recovery option
- HTML5: Modern semantic markup
- CSS3: Advanced styling and animations
- JavaScript: ES6+ for application logic
- Firebase: Cloud backend (Firestore, Authentication)
- Charts: Chart.js
- Icons: Font Awesome 6.4.0
- Storage: LocalStorage (offline fallback)
MIT License - Free to use, modify, and distribute
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Internet connection (for Firebase features)
-
Clone or download the repository
git clone https://github.com/AverageTaaf/schedulepro.git cd schedulepro -
Open the application
- Simply open
index.htmlin your web browser - Or use a local server:
# Using Python python -m http.server 8000 # Using Node.js npx http-server
- Simply open
-
Access the application
- Navigate to
http://localhost:8000(if using local server) - Or directly open
index.htmlin your browser
- Navigate to
The app comes pre-configured with Firebase. To use your own Firebase project:
- Create a Firebase project at Firebase Console
- Enable Firestore Database and Authentication
- Update the Firebase configuration in
script.js:const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", // ... other config };
- First Launch: Complete the onboarding tutorial (if enabled)
- Choose Theme: Select your preferred color theme from the header
- Select View: Pick your favorite layout (Kanban recommended for beginners)
- Create Account (Optional): Sign up for cloud sync across devices
-
Fill in the task form with:
- Title (required)
- Description (optional)
- Due Date & Time
- Difficulty Level
- Importance Rating
- Checkpoints (one per line)
- Tags for organization
- Reminder settings
-
Click Add Task button
- Edit: Click on any task card to open the edit modal
- Move: Drag tasks between columns (Kanban view)
- Complete: Click the complete button or move to "Done" column
- Delete: Click delete button (moves to trash)
- Archive: Archive completed tasks for cleanup
Ctrl + F: Focus search barCtrl + N: New task (focus form)Ctrl + S: Save current taskEsc: Close modal/cancel actionCtrl + E: Export tasksCtrl + H: Open help modal
- Click "Bulk Select" button
- Check tasks you want to modify
- Click "Bulk Actions" and choose operation
- Click "Advanced Filters" button
- Set date ranges, status, difficulty, importance
- Click "Apply Filters"
- Export: Download tasks as JSON file
- Import: Upload previously exported JSON file
Choose from 6 beautiful themes:
- Light: Clean, bright interface
- Dark: Easy on the eyes for nighttime
- Blue: Ocean-inspired calming colors
- Green: Nature-themed refreshing palette
- Pink: Vibrant and energetic
- Orange: Warm and motivating
- Chrome/Edge: β Fully supported
- Firefox: β Fully supported
- Safari: β Fully supported
- Opera: β Fully supported
- IE11: β Not supported
- All data stored in Firebase is associated with your user account
- Passwords are securely hashed by Firebase Authentication
- Local storage is used only when not authenticated
- No third-party tracking or analytics
- Calendar view may not display correctly on very small screens (<320px)
- Drag and drop not available on touch devices in some browsers
- Chart animations may lag on older devices
- Mobile app (React Native)
- Team collaboration features
- Task templates
- Email notifications
- Integration with Google Calendar
- Dark mode auto-switch based on time
- Task dependencies
- Gantt chart view
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Taafeef Bin Montaquim
- Email: montaquim.tbm@gmail.com
- GitHub: @AverageTaaf
- Font Awesome for the icon library
- Chart.js for beautiful charts
- Firebase for backend infrastructure
- All contributors and users of SchedulePro
For support, email montaquim.tbm@gmail.com or open an issue on GitHub.
Made with β€οΈ by Taafeef Bin Montaquim