Flutter and Firebase app for managing your To-Do list.
- User authentication with email and password
- Add to-do items
- Mark items as done
- Profile page with user info
- Logout
- Flutter for the mobile app
- Firebase as the serverless backend, with Firestore for the database and Firebase Authentication for user authentication.
- Riverpod for state management and dependency injection
- users (collection)
- user_id (document)
- name
- email
- todos (subcollection)
- todo_id (document)
- title
- isCompleted
- Collection
users
contains documents withuser_id
as the document id.
Thisuser_id
is the same as theuid
provided by Firebase Authentication. - Each document contains the user's information like their name, email, etc.
- Along with information, it contains a subcollection
todos
which contains documents withtodo_id
as the document id. - Each document in the
todos
collection contains information of the todo item like the title of the to-do item and a booleanisCompleted
which is true if the item is marked as done.
- Sharing lists with other users
- Collaborating on lists with other users along with providing access control
- Deleting items
- Adding due dates to items
- Adding reminders
- Search functionality
- Adding tags to items