https://github.com/mirhasalh/crypto_marketplace_simulation
A Flutter-based simulation of a cryptocurrency marketplace, designed to mimic real-time trading, asset tracking, and market dynamics. Ideal for educational purposes, prototyping, or exploring crypto trading UX without using real funds.
https://github.com/mirhasalh/crypto_marketplace_simulation
drift-database flutter websocket
Last synced: about 1 month ago
JSON representation
A Flutter-based simulation of a cryptocurrency marketplace, designed to mimic real-time trading, asset tracking, and market dynamics. Ideal for educational purposes, prototyping, or exploring crypto trading UX without using real funds.
- Host: GitHub
- URL: https://github.com/mirhasalh/crypto_marketplace_simulation
- Owner: mirhasalh
- Created: 2025-06-29T01:45:24.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T02:39:20.000Z (11 months ago)
- Last Synced: 2025-06-29T02:45:58.543Z (11 months ago)
- Topics: drift-database, flutter, websocket
- Language: Dart
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# crypto_marketplace_simulation
A Flutter-based simulation of a cryptocurrency marketplace, designed to mimic real-time trading, asset tracking, and market dynamics. Ideal for educational purposes, prototyping, or exploring crypto trading UX without using real funds.
## Demo
Demo video: [YouTube](https://youtu.be/JkcmSJGByeY)
## Web local database requirements
For the web, download [drift_worker.js](https://github.com/simolus3/drift/releases) and [sqlite3.wasm](https://github.com/simolus3/sqlite3.dart/releases), then place them in the web/ directory to enable local database functionality.
In the end, your web/ directory may look like this:
```plaintext
web/
├── favicon.png
├── index.html
├── manifest.json
├── drift_worker.js
└── sqlite3.wasm
```
## How to run the app
```bash
# Run the app for the web
flutter run -d web-server --web-port 8080 --web-hostname 0.0.0.0
# Run the app for the rest of target platforms
flutter run
```
## Library
Libraries used & why:
| Library Name | Why It Was Used |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `drift` | It's a recently maintained, cross-platform SQLite database that is fully compatible with the latest versions of Flutter. |
| `http` | To fetch the REST APIs. |
| `fl_chart` | Drawing allocations chart. |
| `shared_preferences` | Keeping simple informations locally. |
| `web_socket_channel` | Communicate with WebSockets. |
| `scrollview_observer` | Listen for child widgets those are being displayed in the scroll view. |
| `riverpod` | Share a states on top of the app for the sake of state management. |
## Getting started
This project is a Flutter application.
A few resources to get you started:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.