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
- Host: GitHub
- URL: https://github.com/sandromaglione/fpdart_riverpod
- Owner: SandroMaglione
- Created: 2023-05-31T10:03:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-26T17:43:16.000Z (about 2 years ago)
- Last Synced: 2025-03-26T17:21:23.509Z (7 months ago)
- Topics: flutter-app, flutter-examples, fpdart, functional-programming, riverpod
- Language: C++
- Homepage: https://www.sandromaglione.com/course/fpdart-riverpod-develop-flutter-app
- Size: 304 KB
- Stars: 26
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `fpdart_riverpod`
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).
[](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.1dev_dependencies:
flutter_test:
sdk: flutterflutter_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))