Skip to content
This repository was archived by the owner on Dec 10, 2025. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS4273-SWEN-Group_Project-Library

Project Name: Task Manager

Purpose

Task Manager is designed to help users efficiently manage their daily routines by providing a clean, intuitive interface for scheduling and task management. It aims to optimize productivity and simplify the process of keeping track of tasks.


Getting Started

Quick Start (No Installation Required)

Simply open index.html in your web browser. The application runs entirely in the browser with no server required.

# macOS
open index.html

# Windows
start index.html

# Linux
xdg-open index.html

Development Setup (For Running Tests)

If you want to run the unit tests, you'll need Node.js installed:

# Install dependencies
npm install

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage report
npm run test:coverage

Features

Core Features

  • Task Management: Create, edit, delete, and complete tasks
  • Due Dates & Priorities: Set deadlines and priority levels (High/Medium/Low)
  • Calendar View: Visualize tasks across days and months
  • Timeline/Gantt View: See task timelines at a glance
  • Light/Dark Mode: Switch themes for comfortable viewing
  • Search & Filter: Find tasks by keyword, status, or priority

Enhanced Features

  • Undo/Redo: Ctrl+Z / Ctrl+Shift+Z to undo/redo actions
  • Toast Notifications: Visual feedback with undo actions
  • Task Tags: Color-coded categories for organization
  • Recurring Tasks: Set daily, weekly, or monthly repeat patterns
  • Keyboard Shortcuts: Full keyboard navigation (press ? for help)
  • Drag & Drop: Reorder tasks or drag to calendar dates
  • Bulk Actions: Select multiple tasks to complete/delete at once
  • Export/Import: Save and load tasks as JSON or CSV
  • Subtasks: Break tasks into checklists with progress tracking

Keyboard Shortcuts

Key Action
n New task
/ Navigate tasks
Enter Toggle completion
e Edit focused task
Delete Delete focused task
/ Focus search
? Show keyboard shortcuts
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Esc Clear form / Deselect

Project Structure

├── index.html          # Main HTML file
├── css/
│   └── styles.css      # All styles (light/dark themes)
├── js/
│   ├── namespace.js    # Global namespace setup
│   ├── utils.js        # Utility functions
│   ├── storage.js      # localStorage persistence
│   ├── state.js        # Centralized state management
│   ├── filters.js      # Task filtering and sorting
│   ├── theme.js        # Light/dark mode toggle
│   ├── tasks.js        # Task CRUD operations
│   ├── calendar.js     # Calendar view
│   ├── gantt.js        # Timeline/Gantt view
│   ├── toast.js        # Toast notifications
│   ├── history.js      # Undo/redo functionality
│   ├── tags.js         # Tag management
│   ├── subtasks.js     # Subtask/checklist support
│   ├── recurrence.js   # Recurring tasks
│   ├── keyboard.js     # Keyboard shortcuts
│   ├── dragdrop.js     # Drag and drop
│   ├── bulk.js         # Bulk actions
│   ├── exportimport.js # Export/import (JSON, CSV)
│   ├── idb.js          # IndexedDB storage
│   └── main.js         # App initialization
├── tests/
│   ├── setup.js        # Jest test setup
│   ├── utils.test.js   # Utility function tests
│   └── state.test.js   # State management tests
├── images/
│   └── favicon.ico     # App icon
└── package.json        # npm configuration

Technology Stack

  • Frontend: Vanilla JavaScript (ES5 compatible, no build tools required)
  • Styling: CSS3 with custom properties for theming
  • Storage: localStorage (with IndexedDB support)
  • Testing: Jest with jsdom environment

Browser Support

Works in all modern browsers:

  • Chrome 60+
  • Firefox 55+
  • Safari 11+
  • Edge 79+

Upcoming Features

  • AI Voice Processing: Add or edit tasks using natural voice commands
  • AI Data-Driven Suggestions: Receive intelligent recommendations for better time management
  • Time Use Insights: Access detailed analytics including hours worked, task trends, and graphical summaries of productivity

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages