An open API service indexing awesome lists of open source software.

https://github.com/sandromaglione/fpdart_riverpod

Complete guide on how to build a safe, maintainable, and testable flutter app using fpdart and riverpod
https://github.com/sandromaglione/fpdart_riverpod

flutter-app flutter-examples fpdart functional-programming riverpod

Last synced: 6 months ago
JSON representation

Complete guide on how to build a safe, maintainable, and testable flutter app using fpdart and riverpod

Awesome Lists containing this project

README

          

# `fpdart_riverpod`



GitHub: SandroMaglione


Twitter: SandroMaglione

Learn how to use [`fpdart`](https://pub.dev/packages/fpdart) and [`riverpod`](https://pub.dev/packages/riverpod) to implement a **safe**, **maintainable**, and **testable** flutter app.

This repository contains the source code for the course [**Fpdart & Riverpod - Safe, maintainable, testable Flutter apps**](https://www.sandromaglione.com/course/fpdart-riverpod-develop-flutter-app).

[![fpdart + riverpod flutter app](https://www.sandromaglione.com/_next/image?url=%2Fstatic%2Fimages%2Fcovers%2Ffpdart-riverpod-develop-flutter-app.webp&w=3840&q=75)](https://www.sandromaglione.com/course/fpdart-riverpod-develop-flutter-app)

> **Note**: You can [**subscribe to the newsletter**](https://www.sandromaglione.com/newsletter) to receive live updates, exclusive previews, sneak peaks, and more about this course

## Getting Started

This project is your usual flutter app (`flutter create`).

The app is built with [`fpdart`](https://pub.dev/packages/fpdart) (functional programming) and [`riverpod`](https://pub.dev/packages/riverpod) (state management).

To get started, you just need to fork the repository and install the packages:

```shell
flutter pub get
```

> **Note**: Make sure to have Flutter installed ([how to install?](https://docs.flutter.dev/get-started/install))

This is an extract of [`pubspec.yaml`](./pubspec.yaml) showing the core dependencies used in the app:

```yaml
environment:
sdk: ">=3.0.0 <4.0.0"

dependencies:
flutter:
sdk: flutter

equatable: ^2.0.5
fpdart: ^1.1.0
hooks_riverpod: ^2.3.6
riverpod_annotation: ^2.1.1

dev_dependencies:
flutter_test:
sdk: flutter

flutter_lints: ^2.0.0
build_runner: ^2.4.4
custom_lint: ^0.4.0
riverpod_lint: ^1.3.2
riverpod_generator: ^2.2.3
mocktail: ^1.0.0
```

You also need to execute [`build_runner`](https://pub.dev/packages/build_runner) to generate the providers using [`riverpod_generator`](https://pub.dev/packages/riverpod_generator):

```shell
dart run build_runner build
```

You can then run the app in every platform (mobile, web, desktop, it's Flutter after all 🎯):

```shell
flutter run
```

The implementation is explained in details in a series of articles: [**Fpdart & Riverpod - Safe, maintainable, testable Flutter apps**](https://www.sandromaglione.com/course/fpdart-riverpod-develop-flutter-app).

> **Note**: The articles are work in progress, come back soon for more updates and added features ([or subscribe to the newsletter for live updates](https://www.sandromaglione.com/newsletter))