Coder Social home page Coder Social logo

hungps / flutter_pokedex Goto Github PK

View Code? Open in Web Editor NEW
2.3K 44.0 554.0 10.23 MB

Pokedex app built with Flutter (with lots of animations) using Clean Architecture

Home Page: https://hungps.com

License: Other

Kotlin 0.07% Swift 0.39% Objective-C 0.01% Dart 86.09% Ruby 0.76% CMake 5.32% C++ 6.43% C 0.40% HTML 0.53%
pokedex flutter flutter-examples flutter-apps flutter-ui flutter-demo clean-architecture clean-code pokemon-info

flutter_pokedex's Introduction

Flutter Pokedex

Awesome Flutter Codemagic build status License License

Pokedex app built with Flutter

App preview

Home News Pokedex Pokedex FAB Pokedex Generation Pokemon Info - About Pokemon Info - Base Stats Pokemon Info - Evolution Pokemon Info - Base Stats (Expanded)

Video demo

Demo

Installation

  • Add Flutter to your machine

  • Open this project folder with Terminal/CMD and run flutter packages get

  • Run flutter run to build and run the debug app on your emulator/phone

Todos

  • Home
  • Home - Apply Sliver effect in home screen
  • Pokedex
  • Pokedex - FAB
  • Pokedex - Add FAB animation
  • Pokedex - Add grid loading animation
  • Pokedex - Add more Pokemons by balvinderz
  • Pokedex - Add load more
  • Pokemon Info
  • Pokemon Info - About
  • Pokemon Info - Base Stats
  • Pokemon Info - Evolution
  • Pokemon Info - Moves (no design)
  • Pokemon Info - Make tab area expandable
  • Pokemon Info - Add animations
  • Pokemon Info - Add more Pokemons by balvinderz
  • Pokemon Info - Add missing data in About tab
  • Pokemon Info - Add Base Stats data by balvinderz
  • Pokemon Info - Add Evolution data by balvinderz

Thanks

License

All the code available under the MIT + Apache 2.0. licenses. See LICENSE.

flutter_pokedex's People

Contributors

0x1026 avatar agustindipolito avatar ambujaak avatar balvinderz avatar hungps avatar jesse-lucas1996 avatar jinosh05 avatar jitinder avatar matttx avatar thenova22 avatar wa11breaker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter_pokedex's Issues

Add more pokemons

Hello , I would like to add more pokemons to this app. I scraped pokemon website and have collected 808 pokemons details . Can u assign this to me if this app is still actively maintained.

Integration with existing Pokemon DB/APIs

While the point of having our own data stores and files makes sense, wouldn't it be better to use existing and more detailed resources and APIs like the PokeAPI? They contain all data for pokemon, items, locations etc. that can be used to complete the overall app...

Refactor code

Currently, the code is a little bit messy, hard to maintain, and scale. I'm working on it and there are some things to do (there will be change if I found somethings is better):

  • Use pedantic
  • Use riverpod (flutter_riverpod only)
  • Add splash screen and init things in here
  • Apply clean architecture
  • Fetch the pokemon data in gist using dio and json_annotation instead of storing in the app
  • Cache the data using hive
  • Refactor all widgets

The main work is in the refactor branch and will be merged to the master branch when completed.

Migrate from riverpod to flutter_bloc

riverpod + ChangeNotifier has been my main choice for state management for a long time because of its simplicity. But since v1.0.0, riverpod removing the syntax sugar context.read and required to extend the ConsumerWidget/ConsumerStatefulWidget instead, make the code heavily depends on riverpod. So I decided to let it go and find another state management, and the best state management so far is flutter_bloc.

By applying flutter_bloc, we can define the event as a use case, make the code easy to write unit tests and reduce the boilerplate.

Weird snapping back when scrolling up in main page

The app looks great! Minor criticism: on the main page, if you swipe up a very small distance and quickly, it snaps back down. This looks weird and unnecessary. Not sure whether it's intentional, but it looks like a bug.

I noticed it on Android and iOS devices, with 1844ab2

Request to Add licence

Hello,

I am Maheshwari from team GeekyAnts. On behalf of Start Flutter, we add open source products which we find helpful to the community & also we provide credits to author itself.

Let me know if you are interested showcase your product in our open source website. If yes, then I request you to add MIT Licence in your repo.

Looking forward to hear from you.

Flutter web doesn't build

Flutter web doesn't build. When running flutter build web following error is emitted:

Target dart2js failed: Exception: lib/ui/screens/home/sections/header_card_content.dart:51:13:
Error: 'SearchBar' is imported from both 'package:flutter/src/material/search_anchor.dart' and 'package:pokedex/ui/widgets/search_bar.dart'.
            SearchBar(),
            ^^^^^^^^^
lib/ui/modals/search_modal.dart:15:18:
Error: 'SearchBar' is imported from both 'package:flutter/src/material/search_anchor.dart' and 'package:pokedex/ui/widgets/search_bar.dart'.
          child: SearchBar(margin: EdgeInsets.zero),
                 ^^^^^^^^^
Error: Compilation failed.

Cant Tap on Last Tab When Drawer is Fully Open

When the Drawer is fully open the last tab is being covered by the decorative spinning pokeball.
Decreasing the size of the ball to under .3 will allow you to then use that last tab since the pokeball is not overlapping with the tap.

Option for Dark Theme

Add option for the User to choose/change the theme (Dark, Light (current theme)).

How did you get your pokemon.json file?

I'm trying to learn Flutter and I am curious on how did you get your pokemon.json file? I'd like to do a learning project and I would need to get the whole pokedex like you did. Thanks and also this app is amazing!

There's a bug

Screenrecorder-2021-08-30-05-15-35-86.2.mp4
Screenrecorder-2021-08-30-05-15-35-86.3.mp4

Changing from Pokemon images to another images

Hi sir, first of all I want to say that I really love your projects. Currently I'm just learning using Flutter. I want to ask that if it possible for us to change the images to another things such as plant? And for the value of each pokemen how it is actually stored, is it on pokemons.json?

Error compiling this for linux

Let me start off by saying thanks for the great app! Can never go wrong with having a pokedex handy.

Im trying to compile this for a retroHandheld, miyoomini. I think itd be great to have it handy and I'd also like to contribute to the retro community.

When trying to compile the app I keep encountering an error.

Exception: Unsupported platform name "Debug"
#0      getTargetPlatformForName (package:flutter_tools/src/build_info.dart:772:3)
#1      AssembleCommand.requiredArtifacts (package:flutter_tools/src/commands/assemble.dart:159:43)
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1519:43)
<asynchronous suspension>
#3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1336:27)
<asynchronous suspension>
#4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#5      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#6      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:296:9)
<asynchronous suspension>
#7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#8      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:244:5)
<asynchronous suspension>
#9      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:91:9)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>

make[2]: *** [flutter/CMakeFiles/flutter_assemble.dir/build.make:84: flutter/ephemeral/libflutter_linux_gtk.so] Error 1
make[2]: Leaving directory '/root/workspace/flutter_pokedex/linux'
make[1]: *** [CMakeFiles/Makefile2:131: flutter/CMakeFiles/flutter_assemble.dir/all] Error 2
make[1]: Leaving directory '/root/workspace/flutter_pokedex/linux'
make: *** [Makefile:133: all] Error 2

Ive tried hardcoding a few different values but can never get it to work. Dont really know what I'm doing haha.
Any help would be greatly appreciated!!

Images not fetching for web support.

Hey @hungps,
I'm starting the web support for the app too. While doing so, we are not able to fetch images.

Screenshot 2022-11-01 at 12 22 07 PM

And the error in terminal is:
Screenshot 2022-11-01 at 12 22 47 PM

But the image url in terminal is getting redirected.

F-Droid inclusion

Hi @scitbiz

Since this app is MIT licensed, would it be possible to add it to F-Droid? There is a strong community behind.

You can find some documentation here.

Otherwise, if you don't want to work on the inclusion of this app by yourself, would it be ok for you to include this app in F-Droid repo ? I don't see any closed source libraries nor any blob, so it should be ok to build it on F-Droid side.

Feature: Dynamic titles for screens

We're seeing 'Pokedex' on all the screens except for 'Type Effects', because we are saying explicitly the name of the screen:
image

We should use something like this on all screens:
image

But first it would be necessary to integrate that the title is changed automatically when changing the route.

Usecases is not used?

I saw that you are using repositories in the bloc instead of usecases. (The usecases are not used anywhere in this project).
Can someone explain to me why?

Eternal progress indicator

when I try to access the pokedex view without an internet connection it never loads the information, and never displays a message about it either.

[Question] Location Widget

I'm wonndering whats the idea around the Location section on the pokemons description?

I noticed its hardcoded to teal? Whats the plan for this section

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.