Clarity is a lightweight dashboard application for managing todos, notes, and reminders. It provides:
- A web-based dashboard for an interactive experience.
- A CLI tool for quick and efficient task management.
- Notifications and reminders to keep you on track.
- Web Interface: Manage todos, notes, and reminders visually.
- CLI Tool: Perform CRUD operations on todos and notes via the command line.
- Reminders: Set reminders for todos and notes, with notifications delivered via email or CLI alerts.
- Data Storage: Lightweight storage using SQLite.
- Frontend: React with Vite for fast builds and development.
- Backend: Express.js (TypeScript) for API services.
- Database: SQLite for lightweight, file-based storage.
- Scheduler: Node.js with
node-schedulefor reminders. - Notifications: Nodemailer for email alerts.
-
Clone the repository:
git clone https://github.com/yourusername/clarity.git cd clarity -
Install dependencies:
yarn install
-
Set up environment variables: Create a
.envfile in the root directory and add the following:DATABASE_URL=sqlite://./database/clarity.db EMAIL_HOST=smtp.your-email-provider.com EMAIL_PORT=587 EMAIL_USER=your-email@example.com EMAIL_PASSWORD=your-email-password
-
Run the application:
- Frontend:
cd frontend yarn dev - Backend:
cd backend yarn dev - CLI:
Run commands directly from the
cli/directory.
- Frontend:
- Start the backend and frontend servers.
- Open your browser and navigate to
http://localhost:3000.
Run commands from the root directory:
node cli add-todo "Finish the Clarity app"
node cli list-todos- Fork the repository.
- Create a feature branch:
git checkout -b feature/new-feature
- Commit your changes:
git commit -m "Add new feature" - Push to the branch:
git push origin feature/new-feature
- Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.