This repository contains the source code of the demo Pokédex (ポケモン図鑑, Pokémon Zukan, lit.: Pokémon Encyclopedia) application that I made for the lecture given for the Scuola di Ingegneria at the University of Bergamo. The application allows users to view the first 151 Pokémon in both list and grid format, navigate to their dedicated page, and view statistics.
Moodboard for the UI of the app: Pokédex on Pinterest
Here are the most interesting packages used in the development of the application with a brief description:
- audioplayers: A Flutter plugin to play multiple audio files simultaneously
- carousel_slider: A carousel slider widget, support infinite scroll and custom child widget
- flutter_animate: Add beautiful animated effects & builders in Flutter, via an easy, customizable, unified API
- flutter_slidable: A Flutter implementation of slidable list item with directional slide actions that can be dismissed
- flutter_svg: An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files
- pinch_zoom: A widget based on Flutter's new Interactive Viewer that makes picture pinch zoom, and return to its initial size and position when released
- window_manager: This plugin allows Flutter desktop apps to resizing and repositioning the window
- wolt_modal_sheet: This package provides a responsive modal with multiple pages, motion animation for page transitions, and scrollable content within each page
I used freezed to handle the json responses coming back from the API, but the generated *.freezed.dart
and *.g.dart
files were not committed, so before starting the project you need to run build_runner
in order to create them:
dart run build_runner build --delete-conflicting-outputs
Home List | Home Grid | Modal |
---|---|---|
Single Page (1) | Single Page (2) | Settings |
---|---|---|
If you have any idea, feel free to fork it and submit your changes back to me.
UniBG Pokédex is released under the MIT license. You can use the code for any purpose, including commercial projects.