A beautiful and responsive task management application built with Electron and React. TaskMaster helps you organize your work and life with a clean, modern interface and powerful features, including AI-powered task creation.
- Create, edit, and delete tasks: Effortlessly manage your to-do list.
- Set due dates and priorities: Stay on top of your deadlines.
- Organize with categories: Keep your tasks neatly organized.
- Search and filter: Quickly find the tasks you're looking for.
- Dark/Light Mode: Switch between dark and light themes for your comfort.
- AI-Powered Task Creation: Use AI to automatically generate tasks from your voice or text input.
- Voice-to-Text with Whisper: Dictate your tasks using the powerful Whisper AI model.
- Local Data Persistence: Your data is saved locally on your device.
- Auto-updates: The application automatically updates to the latest version.
- Responsive Design: Enjoy a seamless experience across different screen sizes.
- React 18.2.0: A JavaScript library for building user interfaces.
- Electron 34.0.0-beta.4: A framework for creating native applications with web technologies.
- Vite 5.1.0: A fast build tool and development server for modern web projects.
- Material-UI 5: A popular React UI framework.
- Framer Motion: A library for creating animations in React.
- @emotion/react: A library for writing CSS styles with JavaScript.
- Zustand: A small, fast, and scalable state-management solution for React.
- @huggingface/transformers: State-of-the-art machine learning for Node.js.
- OpenAI: API for accessing powerful AI models.
- Groq SDK: SDK for the Groq AI inference engine.
- Electron Builder: A complete solution to package and build a ready for distribution Electron app.
- Electron Updater: A solution for auto-updates in Electron applications.
- Electron Store: A simple data persistence solution for Electron.
- Date-fns: A modern JavaScript date utility library.
- UUID: A library for generating RFC4122 UUIDs.
- Download the latest installer from the Releases page.
- Run the
TaskMaster.Setup.exeinstaller. - Follow the installation wizard to complete the setup.
- Launch TaskMaster from your desktop or start menu.
Prerequisites:
Installation:
-
Clone the repository:
git clone https://github.com/dmdavidkov/taskmaster.git cd taskmaster -
Install the dependencies:
npm install
-
Start the development server:
npm run dev
This will start the application with hot reload enabled. Changes in the
srcdirectory will be reflected in real-time. Changes to the main Electron process require an application restart.
You can build the application for different purposes using the following scripts:
-
Create a development build:
npm run build
-
Create a portable Windows version:
npm run make-win
-
Create a Windows installer:
npm run make-installer
The generated installer will be located in the
distdirectory.
taskmaster/
├── build/ # Build output
├── dist/ # Packaged application and installer
├── electron/ # Electron main process files
│ ├── electron.js # Main Electron process
│ └── preload.js # Electron preload script
├── public/ # Static assets for the renderer process
├── src/ # React application source code
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── services/ # Application services
│ ├── stores/ # Zustand state stores
│ ├── workers/ # Web workers
│ ├── App.js # Main React component
│ └── index.js # React entry point
├── assets/ # Application assets (icons, images)
├── scripts/ # Utility scripts
├── .env.example # Example environment file
├── electron-builder.yml # Electron Builder configuration
├── package.json # Project metadata and dependencies
└── vite.config.js # Vite configuration
Contributions are welcome! If you have a feature request, bug report, or want to contribute to the code, please follow these steps:
- Fork the repository.
- Create a new 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.
This project is licensed under the MIT License. See the LICENSE file for details.
Made with ❤️ by Dimitar Davidkov
