This document provides specific details about the Flutter frontend for the DSList project.
- About This Project
- Architecture & Technologies
- How to Compile And Run
- Project Structure
- Screenshots
- Credits
This project is the frontend client for the DSList application. It's a Flutter application designed to consume the Java Spring Boot REST API, providing a user interface to view and manage game lists.
This frontend was developed by Edoardo Fabrizio De Iovanna as a complementary part of the original backend course.
- Language: Dart
- Framework: Flutter
- Architecture: The project follows a pattern similar to MVVM (Model-View-ViewModel).
- Views: Widgets that compose the UI.
- Controllers: Manage the application's state and business logic, acting as a bridge between the Views and Repositories.
- Repositories: Handle data operations, fetching data from the API.
- Models: Represent the data structures (e.g.,
GameModel).
- Key Dependencies:
dio: Used for making HTTP requests to the backend API.auto_injector: For dependency injection, decoupling the application's components.flutter_lints: To enforce code style and quality.
- An installed and configured Flutter SDK.
- The backend server must be running, as this application depends on its API. By default, the API is expected at
http://localhost:8080.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
flutter pub get
-
Run the application:
flutter run
The lib folder is organized as follows:
lib/api/: Contains the API client configuration (dio).lib/config/: Handles dependency injection setup (auto_injector).lib/controllers/: Contains the business logic and state management.lib/models/: Data models that mirror the backend entities.lib/repositories/: Classes responsible for abstracting data sources (API calls).lib/views/: UI widgets, pages, and components.lib/main.dart: The entry point of the application.
- Edoardo Fabrizio De Iovanna: Development and integration of the Flutter frontend.

