T.U.K.I. (T_ENEREC's U_NIFIED K_NOWLEDGE I_NTEGRATOR) is a comprehensive TODO management system built with FastAPI and SQLAlchemy.
- ✅ Projects Management - Create hierarchical projects with sub-projects
- ✅ Tasks - Manage tasks with deadlines and priority levels
- ✅ Routines - Schedule recurring tasks with frequency settings
- ✅ Routine Heatmap - Visual representation of routine completion patterns
- ✅ AI Chat - Integrated AI assistant powered by Google Gemini
- ✅ Conversations - Store and manage chat histories
- Backend: FastAPI, SQLAlchemy, Pydantic
- Database: SQLite
- AI: Google Gemini API, OpenRouter API
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Python 3.10+
- pip
- Clone the repository
git clone <repository-url>
cd TUKI- Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Configure environment variables
cp .env.example .env
# Edit .env with your API keys- Run the application
python -m fastapi dev backend/main.py --host 0.0.0.0The application will be available at http://localhost:8000
Once running, visit http://localhost:8000/docs for interactive API documentation (Swagger UI)
backend/
├── models.py # Database models
├── database.py # Database configuration
├── schemas.py # Pydantic schemas
├── main.py # FastAPI app setup
├── alembic/ # Database migrations
└── routers/
├── tasks.py # Task endpoints
├── tasks_logic.py # Task business logic
├── projects.py # Project endpoints
├── projects_logic.py # Project business logic
├── routines.py # Routine endpoints
├── routines_logic.py # Routine business logic
├── ai.py # AI chat endpoints
├── conversations.py # Conversation history endpoints
└── tools.py # Utility functions for AI tools
frontend/
├── todo.html # Task management UI
├── chat.html # AI chat interface
├── kale.html # Routine heatmap visualization
├── todo_script.js
├── chat_script.js
├── kale_script.js
└── style.css
GET /api/tasks/- Get all tasksGET /api/tasks/{id}- Get specific taskPOST /api/tasks/- Create taskPATCH /api/tasks/{id}- Update taskDELETE /api/tasks/{id}- Delete task
GET /api/projects/- Get all projectsGET /api/projects/{id}- Get specific projectPOST /api/projects/- Create projectPATCH /api/projects/{id}- Update projectDELETE /api/projects/{id}- Delete project
GET /api/routines/- Get all routinesGET /api/routines/{id}- Get specific routinePOST /api/routines/- Create routinePATCH /api/routines/{id}- Update routineDELETE /api/routines/{id}- Delete routine
POST /api/ai/prompt- Send message to AIGET /api/conversations/- Get all conversationsPOST /api/conversations/- Create conversation
See .env.example for all available options:
GOOGLE_GENAI_API_KEY- Your Google Gemini API keyOPENROUTER_API_KEY- Your OpenRouter API keyDATABASE_URL- Database connection stringENVIRONMENT- development, staging, or production
python -m fastapi dev backend/main.py --host 0.0.0.0If you prefer to run the application in an isolated Docker container:
- Build the Docker image:
docker build -t tuki-backend .
docker run -d -p 8000:8000 --env-file .env --name tuki-app tuki-backendcd backend
alembic upgrade head # Apply migrations
alembic revision --autogenerate -m "Description" # Create migration