Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/baguilar6174/flutter-crypto-app
This application connects to coincap API to get cryptocurrency changes in real time, this project implements clean architecture for organization and freezed to use functional programming.
https://github.com/baguilar6174/flutter-crypto-app
clean-architecture dart flutter functional-programming provider
Last synced: 3 days ago
JSON representation
This application connects to coincap API to get cryptocurrency changes in real time, this project implements clean architecture for organization and freezed to use functional programming.
- Host: GitHub
- URL: https://github.com/baguilar6174/flutter-crypto-app
- Owner: baguilar6174
- Created: 2023-01-27T20:17:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-10T22:32:15.000Z (almost 2 years ago)
- Last Synced: 2024-12-28T07:42:12.495Z (about 2 months ago)
- Topics: clean-architecture, dart, flutter, functional-programming, provider
- Language: Dart
- Homepage:
- Size: 484 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crypto App
This application connects to [coincap](https://coincap.io/) [API](https://docs.coincap.io/) to get cryptocurrency changes in real time, this project implements __clean architecture__ for organization and [freezed](https://pub.dev/packages/freezed) to use functional programming.
## Installation
Get code using
```
git clone https://github.com/baguilar6174/flutter-crypto-app.git
```__Step 2__
Install the necessary libraries (this proyect use Flutter 3.7.0 & Dart 2.19.0)
```
flutter pub get
```__Step 3__
Generate Freezed files
```bash
flutter pub run build_runner build
```__Step 4__
Generate locale strings (en & es)
```bash
flutter gen-l10n
```Run the app
## My process
### Build with (libs)
- `dio`: Http Client
- `provider`: State management
- `logger`: Create friendly logs in console
- `freezed_annotation`: Annotations for Freezed
- `web_socket_channel`: Allow connections with WS
- `flutter_svg`: Render SVG
- `intl`: Internationalization
- `build_runner`: Generate code
- `freezed`## Features
- Using Sockets
- Clean Architecture
- Functional programming with Freezed
- Dio Http client, interceptor and logger
- Using Intl to formats and internationalization### What I learned
- Implement clean architecture with provider
- Using Either class
- Create connection and using Web Sockets
- State management using provider
- Generate classes and entities using Freezed
- `when`, `maybeWhen`, `map`, etc. Functional programming operators
- Listen changes using streams## Crypto App
![]()
## Stay in touch
- Website - [www.bryan-aguilar.com](https://www.bryan-aguilar.com/)
- Medium - [baguilar6174](https://baguilar6174.medium.com/)
- LinkeIn - [baguilar6174](https://www.linkedin.com/in/baguilar6174)