FLUTTER ECOSYSTEM

dhafinrayhan/dummymart

Um projeto de exemplo do Flutter que usa Riverpod, go_router, flutter_hooks e Freezed.

Capa do projeto dummymart
Stars
111
Forks
19
Último push (UTC)
29 de mar. de 2025
Status do projeto
Ativo
Dhafin Rayhan A. GitHub avatar
GITHUB User

Dhafin Rayhan A. ↗

Bandung, Indonesia
LinguagensDartC++CMakeHTMLRubySwiftCKotlinShellObjective-C

Tópicos técnicos

Dependências usadas

Lista de dependências 28 itens

Rankings

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

DummyMart

An example Flutter project that uses Riverpod, go_router, flutter_hooks, and Freezed.

Check out the experimental use of macros here.

⚠ Important Notes

This project uses DummyJSON API. Please note that DummyJSON doesn't apply your changes when creating, updating, or deleting items. This project correctly implements those actions, but expect no data changes due to these API limitations.

You can run the app with --dart-define=MOCK_API=true flag to use the internal mocked API that mimics the original API behavior and does modify your changes in a session. If you're using VSCode, you can instead run the app with the "dummymart (mock API)" configuration.

Features

Each feature demonstrates certain functionalities that are commonly used in a CRUD app.

  1. Products: Basic "view all items" and "view item details" functionalities. Also implements "pull-to-refresh" mechanism.
  2. Todos: Full CRUD operations, including "add item", "edit item", and "delete item".
  3. Posts: More advanced read operations such as "search as we type (with debounce)" and "infinite scrolling".

The auth and router services allow functionalities such as "invalidate all data on logout" and "redirect screens based on the auth state".

Routes

Full paths for routes:
  => /
  => /login
  => /settings
  => /products
  =>   /products/:id
  => /todos
  =>   /todos/add
  =>   /todos/:id
  =>     /todos/:id/update
  => /posts
  =>   /posts/:id
  => /profile

Setup

  1. Run flutter pub get to get dependencies.
  2. Run dart run build_runner build to generate required files. You can also run dart run build_runner watch to generate files and let build_runner watch for changes and rebuild if necessary.
  3. (Optional) Run dart run husky install to setup git hooks on your machine.

Credentials

Use these credentials to login:

username: avat
password: avatpass

Or you can use any user credentials from https://dummyjson.com/users.

Screenshots

View all todos View a single todo Add todo Update todo
Login Profile Infinite scrolling Search post