A task management application that adapts to your mood using AI-powered mood detection and intelligent task reorganization.
- 🧠 AI-Powered Mood Detection: Analyzes your text input to determine your current mood
- 📋 Smart Task Reorganization: Automatically reorganizes tasks based on your detected mood
- 📊 Multiple Views: List, Calendar, Timeline, and Reports views
- 📈 Analytics & Reports: Track your productivity and task completion rates
- and much more !
- Tired: Prioritizes easier (low priority) tasks
- Energetic: Prioritizes harder (high priority) tasks
- Focused: Prioritizes important tasks by importance score
- Stressed: Prioritizes tasks with approaching deadlines
- Happy: Balances task difficulty and importance
- Node.js 18+
- Go 1.21+
- PostgreSQL 15+
- Docker & Docker Compose (optional)
-
Clone the repository: ```bash git clone cd mmtm ```
-
Start all services: ```bash docker-compose up -d ```
-
The application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- Database: localhost:5432
-
Navigate to the backend directory: ```bash cd backend ```
-
Install dependencies: ```bash go mod download ```
-
Create a
.envfile: ```env DB_HOST=localhost DB_PORT=5432 DB_USER=mmtm_user DB_PASSWORD=mmtm_password DB_NAME=mmtm_db DB_SSLMODE=disable JWT_SECRET=your-super-secure-jwt-secret-key OPENAI_API_KEY=your-openai-api-key-here PORT=8080 ``` -
Run the backend: ```bash go run main.go ```
-
Navigate to the project root: ```bash cd .. ```
-
Install dependencies: ```bash npm install ```
-
Create a
.env.localfile: ```env NEXT_PUBLIC_API_URL=http://localhost:8080/api ``` -
Run the frontend: ```bash npm run dev ```
POST /api/auth/register- Register a new userPOST /api/auth/login- Login user
GET /api/tasks- Get all tasks for authenticated userPOST /api/tasks- Create a new taskGET /api/tasks/:id- Get specific taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete taskPOST /api/tasks/reorganize- Reorganize tasks based on mood
POST /api/mood/analyze- Analyze mood from text input
GET /api/user- Get user profilePUT /api/user- Update user profile
```env DB_HOST=localhost DB_PORT=5432 DB_USER=mmtm_user DB_PASSWORD=mmtm_password DB_NAME=mmtm_db DB_SSLMODE=disable JWT_SECRET=your-jwt-secret OPENAI_API_KEY=your-openai-key (optional) PORT=8080 GIN_MODE=release ```
```env NEXT_PUBLIC_API_URL=http://localhost:8080/api ```
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For testing purposes, a demo account is created automatically:
- Email: demo@example.com
- Password: password
For support, please open an issue on GitHub or contact samin from spaciery.