visit the live site: https://dailytodos.ai
-
clone the repo:
git clone https://github.com/razamobin/daily-todo.git
-
create your .env at the root of the project. you can copy .env.example as a reference and make some tweaks:
- OPENAI_API_KEY='sk-my-project-123' (make sure your account is funded!)
- BEARER_TOKEN: a shared secret between the golang and python backends
- there are a bunch more vars but you can leave the rest as is if you just want to get started
-
run Docker Compose to build and start the app:
docker compose up --build
-
create the AI assistant with curl (uses gpt-4o-mini, edit in python-backend/app.py to change):
curl -X POST http://localhost:5001/api/create-assistant
-
create a new user by signing up on the frontend http://localhost:3000
-
you can add todos for today
-
check off todos as you do them
-
come tomorrow - new set of todos are copied from previous day and ready to be checked off
-
you can finalize any day, and whenever a day is finalized, the AI will be called to come up with an encouraging message for you! (gotta be patient though, AI takes its time)
-
repeat forever and do the most important things every day for the rest of your life :D (and don't get distracted by social media and AI driven distractions)
-
BONUS
- you can click any todo and add today's notes for the todo
- you can also add why this todo is important to you and your mission
- you can add a mission on the profile page (click your name in the header)
- all of this is extra context so the AI can understand you better and provide the best daily messages :D
docker exec -it mysql mysql -u user -p
use todo_db;
select * from users;
select * from daily_todos;
- vite-frontend (react app built with vite)
- golang-backend (for db and session biz logic)
- python-backend (for AI API calls logic)
- you can make tweaks to the AI assistant instructions here
- mysql
- flyway for sql migrations
- redis for session storage