RxDart State Management Using MVVM With Clean Architecture and Unit Testing

This project is a Flutter application that fetches and displays a list of universities with the help of an external API. The project also lets us filter the list by country. To make all this magic happen, we used clean and testable architecture to provide an easy-to-maintain and scalable code.

Technologies Used:

  • MVVM and Clean Architecture pattern
  • RxDart for state management
  • Retrofit with Dio for the Network layer
  • Freezed and JsonSerializable for generating the models' boilerplates
  • Mockito for data mocking

API Used:

Related Reading by Dacian Florea:

You can find me on LinkedIn and Toptal.

Getting Started

Before running the app, you have to run: flutter pub run build_runner build