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.
- 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
todo_github_video1_cp.mp4
Note: Quality of the video was reduced to be uploaded here check assets/video for a better quality
-
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 get
to 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 run
Cloud function usage in the project
- Functions are already provided in the
functions/index.js
- Run
firebase init functions
and 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 functions
to 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
Contributors names and contact info
Yao Prosper Amebe
@prosperamebe
This project is licensed under the [NAME HERE] License - see the LICENSE.md file for details
Inspiration, code snippets, etc.