GoodVibes is an intelligent task management application that combines the power of AI with beautiful, intuitive design to transform how you stay organized and productive. Say goodbye to overwhelming to-do lists and hello to a smarter way to manage your life! 🚀
- 🧠 AI-Powered Task Analysis - Simply describe your task in plain English, and our smart AI instantly breaks it down into manageable subtasks with perfectly timed deadlines and priorities
- 💬 Interactive Chat Assistant - Get personalized help, create tasks, or receive productivity advice through our friendly AI chat interface with beautiful Markdown support
- 🎯 Smart Prioritization - Never wonder what to work on next! Our AI automatically suggests priority levels based on task content, deadlines, and your personal patterns
- 💪 Motivational Support - Stay energized with encouraging messages tailored specifically to your tasks and deadlines
- 📊 Multiple Dynamic Views - Visualize your work your way with Tasks, Calendar, Timeline, and Statistics views that adapt to your workflow
- 🎤 Voice Commands - Hands full? No problem! Speak your tasks and messages for effortless productivity on the go
- 🧩 Intelligent Task Breakdown - Complex projects become simple with automated subtask creation that ensures nothing falls through the cracks
GoodVibes doesn't just track your tasks—it becomes your productivity partner! Through intelligent breakdown, personalized encouragement, and adaptive insights, GoodVibes helps you complete tasks faster while reducing stress and increasing satisfaction. ✅ It's not just task management—it's your personal productivity revolution! 🌈
frontend/
- React application with TypeScriptbackend/
- Python FastAPI application.devcontainer/
- Development container configurationconfig/
- Configuration files including API keys
Before starting the development environment or deploying the application, you need to set up your API keys. This configuration is required for both development and production environments.
GoodVibes requires a Together AI API key to function properly. This key is used for all AI features including task analysis, chat assistance, and motivation generation.
- Sign up for an account at Together AI
- Generate an API key from your dashboard
- Create the
config/api_keys.json
file in your project root:
{
"TOGETHER_API_KEY": "your_actual_api_key_here",
"OTHER_API_KEYS": {
"comment": "Add any other API keys here as needed"
}
}
Important: Make sure to create this file and add your API key before starting the dev container or deploying the application.
You can manually validate your API key by running:
python config/load_api_keys.py
This project uses VS Code Dev Containers to provide a consistent development environment. The container includes:
- Python 3.11 with FastAPI dependencies
- Node.js 18.x with React development tools
- TypeScript support
- MongoDB database
- Pre-configured VS Code extensions and settings
- Automatic environment setup
- Visual Studio Code
- Docker Desktop (or equivalent Docker engine)
- VS Code Remote - Containers extension
- Clone this repository
- Open the project folder in VS Code
- When prompted, click "Reopen in Container"
- Wait for the container to build and initialize (this may take a few minutes the first time)
The container will automatically:
- Set up MongoDB
- Install all backend and frontend dependencies
- Create necessary environment files
- Configure the network to allow communication between services
- Validate your API key configuration
Alternatively, you can run the "Dev Containers: Reopen in Container" command from the VS Code Command Palette (F1).
For more detailed information about the development container setup, see the Dev Container README.
Before you begin, ensure you have the following installed:
- Python 3.8 or higher
- Node.js 14 or higher
- npm (Node Package Manager)
- pip (Python Package Manager)
- Navigate to the backend directory:
cd backend
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
- On Windows:
.\venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- Install required Python packages:
pip install -r requirements.txt
- Start the backend server:
uvicorn server:app --reload
The backend server will start running at http://localhost:8000
.
- Open a new terminal and navigate to the frontend directory:
cd frontend
- Install required npm packages:
npm install
- Start the frontend development server:
npm start
The frontend development server will start running at http://localhost:3000
.
cd backend
uvicorn server:app --reload --host 0.0.0.0 --port 8000
The API will be available at http://localhost:8000
cd frontend
npm start
The React application will be available at http://localhost:3000
The application uses environment variables for configuration, which are automatically populated from the centralized configuration in config/api_keys.json
.
The setup scripts automatically copy values from the centralized configuration to the appropriate environment files:
backend/.env
- For backend environment variablesfrontend/.env
- For frontend environment variables
The backend requires MongoDB. In the development container, MongoDB is automatically set up with these default values:
MONGO_URL=mongodb://mongodb:27017/goodvibes
DB_NAME=goodvibes
For manual setup, you'll need to configure MongoDB:
- Install MongoDB locally
- Use MongoDB Atlas (cloud service)
- Use Docker to run MongoDB with:
docker run -d -p 27017:27017 --name mongodb mongo:latest
Then update your backend/.env
file with the appropriate connection details.
Additional environment variables can be set in the appropriate .env
files:
# backend/.env
DEBUG=False
LOG_LEVEL=INFO
# frontend/.env
REACT_APP_BACKEND_URL=http://localhost:8000
The backend API documentation is available at:
- Swagger UI:
http://localhost:8000/docs
- ReDoc:
http://localhost:8000/redoc
cd backend
pytest
cd frontend
npm test
Production deployment files are located in the deployment
directory.
Before deployment, ensure you have set up the API keys as described in the Configuration section.
See Deployment README for detailed instructions on how to build and deploy the application using Docker.
This project is licensed under the MIT License - see the LICENSE file for details.