Skip to content

A quiz game, set in the Harry Potter universe, that let's you guess random character's house, implemented in Flutter.

Notifications You must be signed in to change notification settings

AlexEduV/harry_potter_sorting_flutter

Repository files navigation

harry_potter_sorting_flutter

Harry Potter Magic Sorting Hat App

Table of Contents

Features

  • A full-fledged quiz game in the Harry Potter Universe.
  • A history of previous tries with an option to retry and reset tries.
  • A search of the previously discovered characters in the database.
  • A detail look available if the character is guessed correctly.
  • requesting data from the Rest API.
  • clean architecture, with code generation, jsonSerializable models.
  • provider state management.
  • a beautiful custom UI, with custom fonts, based on a third-party design.

Tech Stack

  • Flutter ^3.5.0
  • Dart
  • Provider (State management)
  • Dio, JsonSerializable, Retrofit (Rest API)
  • Auto_Route (Routing)
  • Drift (Database)
  • CachedNetworkImage, get_it (dependency injection)

Architecture

This project follows a Clean Architecture structure with the following layers:

  • data: API services and local storage (Drift Database).
  • domain: Business logic and entities, state management(Provider).
  • presentation: UI and state management.

Project Structure

harry_potter_sorting_flutter/
|── android/                # Android configuration and manifests
|── assets/                 # project assets (images)
|── fonts/                  # project fonts
|── ios/                    # iOS configuration
├── lib/                    # main project folder
│   ├── core/                
│   │   └── di/             # dependency injection (get_it)
│   ├── data/               
│   │   ├── database/       # drift schema and access point
│   │   ├── network/        # dio client handler   
│   │   ├── repositories/   # repository implementations    
│   │   └── services/       # rest api service
│   ├── domain/
│   │   ├── models/         # model classes (dto's, entities)
│   │   ├── repositories/   # repository abstractions
│   │   └── usecases/       # usecases for the repositories
│   ├── presentation/       
│   │   ├── common/         # common widgeets
│   │   ├── pages/          # full pages, widgets, notifiers    
│   │   └── style/          # custom colors
│   ├── router/             # auto_route configuration
│   └── main.dart           # app entry point
|
├── test/                   # tests
└── pubscpec.yaml           # dependencies configuration

Platform Support

This app supports Android and iOS

Screenshots

Screenshots for the app are available here: here

About

A quiz game, set in the Harry Potter universe, that let's you guess random character's house, implemented in Flutter.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published