Absinthe Todo App revolutionizes task management with seamless Google Drive synchronization and an intuitive user interface. Our standout Magic Sort feature empowers users to effortlessly organize their tasks, enhancing productivity and workflow efficiency.
- 🔄 Cloud sync (using GG Drive)
- 🎩 Magic Sort powered by AI
- ✨ Clean and modern interface
- 🔐 Secure Google authentication
- 🔍 AI-powered task sorting
- Download and install the app
- Set up Google OAuth credentials (optional - pre-setup available)
- Configure environment variables
- Run the application
- Log in with Google account
Detailed instructions in the Installation Guide section.
- Python 3.8 or newer (Download)
- Web browser (Chrome recommended)
- Text editor (Notepad, VS Code, etc.)
- Google Account (Create one)
- Google Cloud Platform account (optional - Get started)
- OpenAI API key for Magic Sort (Get key) (optional - test key included)
- Node.js 16+ (for frontend development)
- Git (for version control)
-
Get the project files:
- Download ZIP from GitHub
- Extract to desired location (e.g., Desktop)
-
Install Python:
- Run Python installer
- ✅ Check "Add Python to PATH"
- Click "Install Now"
Note: This step is optional. A pre-configured OAuth setup is available in the default .env.example file.
- Create project in Google Cloud Console
- Enable Google Drive API
- Configure OAuth:
- Set up consent screen
- Create OAuth 2.0 credentials
- Add redirect URI:
http://localhost:8080/oauth2callback - Save Client ID and Secret
-
Create environment file:
- Copy
.env.exampleto.env - Open
.envin text editor
- Copy
-
Configure settings:
Note: An OpenAI API key is included in .env.example for testing purposes. Please use responsibly and consider getting your own key for production use.
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
SECRET_KEY=random-secret-key
OPENAI_API_KEY=your-openai-key
DEBUG=True
PORT=8080-
Create Python environment:
- Open project folder
- Shift + Right-click → "Open PowerShell here"
- Run:
python -m venv venv .\venv\Scripts\activate pip install -r requirements.txt
-
Frontend setup (optional):
- Install Node.js
- Run in project folder:
npm install npm run build
- Start the server:
python app.py
- Visit http://localhost:8080
- Log in with Google
- Start managing tasks!
- GET
/- View tasks - POST
/add-task- Create task - POST
/update-task- Update task - POST
/delete-task- Delete task - POST
/sync-tasks- Sync with Drive
- GET
/login- Login page - GET
/google-login- Start OAuth - GET
/oauth2callback- OAuth callback - GET
/logout- Logout
- Backend: Python/Flask
- Frontend: JavaScript, Tailwind CSS
- Auth: Google OAuth2
- Storage: Google Drive API
- Cache: File-based
- Logging: Python logging
Project of Absinthe team including:
- Dang Gia Phu (me)
- Truong Duy Dat
- Nguyen Manh Duong
- Nguyen Dinh Khang
- Le Huu Tuan Dung
- UI inspired by jrgarciadev/nextjs-todo-list
- Special thanks to GDGoC PTIT mentors 💖
- About 80-90% of the project's code is written by AI. Through trial and error, with many many prompting tries, me and him completed this project😓
- I want to complete this project so the solution I chose is co-op w/ AI😓