Todo – Flutter & Firebase

A Todo application with CRUD operations & Google Authentication built using Flutter and Firebase.

Note: This project has two versions with different state management and routing techniques. version 1.0 is built using Provider and Navigator 1.0, while version 2.0 utilizes Riverpod and Go Router.

The architecture of the application is based on the Repository Pattern.

Firebase setup

To run the project, you’ll need to set up Firebase. Refer to the official documentation for detailed instructions.


  • Google Authentication
  • CRUD: Users can create, view, edit, and delete their todos. Each todo consists of a title, description, and date.

Packages in-use

These are some main packages used in the app:



Most of the packages are the same in v2.0, except for the following two added in place of provider and get_it:


View Github