gemini_todo_list
A Flutter To-Do list app that integrates the Gemini API to allow users to add tasks using natural language and gain insights through an integrated chat.
- Stars
- 11
- Forks
- 2
- Last push (UTC)
- Jun 17, 2024
- Project status
- Active
Original README
English project snapshot. Visit GitHub for the latest content.
todo_list
A Flutter To-Do list app that integrates the Gemini API to allow users to add tasks using natural language and gain insights through an integrated chat.
Features
- Login/Logup: User authentication using Firebase Auth
- Board management: Create, update, delete boards, invite other users to boards (using Firestore)
- Task management: Add tasks, update, delete tasks on boards, assign task to board members (using Firestore)
- Notification schedule: Notifications are schedule for task due date using Firebase Cloud Functions, Cloud Task, and Firebase Cloud. Notifications are sent to task assignees on due date and when invited on a board.
- Add tasks using natural language: Create a new task by simple input using natural language
- Gemini chat based insights: Possibility to get insights, recommendations, summaries about tasks through a chat interface
Screenshots









Video
https://github.com/prosmaw/gemini_todo_list/assets/81015893/49bc7efb-6e74-4c60-9bd6-68546b1d1d7e
Note: Quality of the video was reduced to be uploaded here check assets/video for a better quality
Getting Started
Installing
-
Clone the repo on your machine
-
Ensure you have Flutter installed on your system. If not, follow the instructions on the official Flutter website: https://flutter.dev/docs/get-started/install
-
Run
flutter pub getto install the dependecies -
Initialize firebase in the project. Follow instructions here: https://firebase.google.com/docs/flutter/setup?platform=android
-
Activate Firebase auth, Firestore in the firebase project to be able to login, store and get data
-
Create .env file at the root and add your Gemini API keys.
-
Activate Cloud Messaging, Firebase Cloud Function to try notifications
-
Run the application using
flutter runCloud function usage in the project
- Functions are already provided in the
functions/index.js - Run
firebase init functionsand follow instructions to initialize and the cloud function localy in you project. For more instructions: https://firebase.google.com/docs/functions/get-started?gen=2nd - Run
firebase deploy --only functionsto deploy the functions on Google Cloud - Follow instructions here to add cloud Task to your cloud Project (your Firebase project in Google Cloud): https://cloud.google.com/tasks/docs/add-task-queue
- Follow instructions here to add the app.yaml and necessary informations needed to use Cloud Task in the index.js file: https://cloud.google.com/tasks/docs/tutorial-gcf
- Functions are already provided in the
Authors
Contributors names and contact info
Yao Prosper Amebe
@prosperamebe
License
This project is licensed under the [NAME HERE] License - see the LICENSE.md file for details
Acknowledgments
Inspiration, code snippets, etc.
Categories
Dependencies used
Dependency list 18 items
- flutter
{"sdk":"flutter"} - cupertino_icons
^1.0.6 - flutter_svg
^2.0.10+1 - google_fonts
^6.2.1 - intl
^0.19.0 - get
^4.6.6 - firebase_core
^3.1.0 - cloud_firestore
^5.0.1 - firebase_auth
^5.1.0 - skeletonizer
^1.3.0 - firebase_messaging
^15.0.1 - flutter_local_notifications
^17.1.2 - google_generative_ai
^0.4.3 - flutter_dotenv
^5.1.0 - flutter_markdown
^0.7.2 - firebase_ui_auth
^1.15.0 - flutter_testDevelopment
{"sdk":"flutter"} - flutter_lintsDevelopment
^3.0.0
How do I choose a repository?
Start with your use case, compare repository activity, and check the original project before adopting it.
- Search by repository name, owner or description, then narrow the results by topic.
- Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
- Read the README, license and issues on GitHub before using a project.
Sources and maintenance
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗
- prosmaw/gemini_todo_list · GitHub ↗
- GitHub Docs — Saving repositories with stars ↗
- Directory maintained by Ducafecat ↗