TaskHub is a modern task management application built with React and TypeScript that helps you organize, track, and manage your tasks effectively. It features a clean interface with time tracking capabilities and persistent storage.
- Task Management: Create, edit, and delete tasks with customizable statuses (Open, In Progress, Done)
- Time Tracking: Track the time spent on each task with start/pause functionality
- Manual Time Editing: Manually adjust recorded time for tasks
- Persistent Storage: Save your tasks directly to your file system
- Auto-saving: Changes are automatically saved to your selected file
- Dark/Light Mode: Toggle between themes for comfortable viewing in any environment
- File System Integration: Create new task files or open existing ones
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm start
- To create a production build:
npm run build
TaskHub uses the File System Access API, which is currently supported in:
- Google Chrome (version 86+)
- Microsoft Edge (version 86+)
- Opera (version 72+)
Other browsers such as Firefox and Safari do not currently support this API, so the file system functionality will not work in those browsers.
- First Launch: Create a new file or open an existing one (.actionhub format)
- Adding Tasks: Use the form at the bottom to add new tasks
- Changing Status: Use the dropdown on each task to change its status
- Time Tracking:
- Click "Start timer" to begin tracking time on a task
- Click "Pause timer" to stop tracking
- Double-click on the time display to manually edit time
- Editing Tasks: Double-click on a task description to edit it
- Switching Files: Use the "Change current file" button to work with a different task file
- Theme Toggle: Click the sun/moon icon in the header to switch between light and dark mode
- components: UI components
- context: React context for themes and todos
- services: Services for file handling
- types: TypeScript type definitions
- hooks: Custom React hooks
TaskHub uses React's context API for state management and the File System Access API for file operations. Data is stored in JSON format with a custom .actionhub
file extension.
Created with ❤️ using React and TypeScript