Skip to content
/ pokedex Public

A sleek Pokedex app built with Flutter for the frontend, Django for the backend, and an image recognition model builed with PyTorch to identify and explore Pokémon seamlessly.

Notifications You must be signed in to change notification settings

L4XB/pokedex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokedex Project

This project is a Pokedex application with a Flutter frontend, a Django backend, and a PyTorch model for Pokemon classification. The application allows users to classify images of Pokemon and retrieve detailed information about them.

Table of Contents

Overview

The Pokedex project consists of three main components:

  1. Frontend: Built with Flutter, providing a user-friendly interface for searching and displaying Pokemon information.
  2. Backend: Implemented with Django, handling API requests and serving the model predictions.
  3. Model: A PyTorch model trained to classify images of Pokemon.

Currently, the model is trained to recognize the following Pokemon:

  • Blastoise
  • Charizard
  • Butterfree
  • Dragonite
  • Gengar
  • Gyarados
  • Pikachu
  • Rhyhorn
  • Slowbro
  • Venusaur

Features

  • Search for Pokemon by name.
  • Classify images of Pokemon using the trained model.
  • Retrieve detailed information about each Pokemon from the OpenPokeApi.

Setup

Prerequisites

  • Python 3.8+
  • Node.js
  • Flutter SDK
  • Dart SDK

Backend Setup

  1. Navigate to the backend directory:

    cd backend/pokedex_model_api
  2. Install the required Python packages:

    pip install -r requirements.txt
  3. Apply the database migrations:

    python manage.py migrate
  4. Start the Django development server:

    python manage.py runserver

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install the required Dart packages:

    flutter pub get
  3. Run the Flutter application:

    flutter run

Usage

  1. Start the backend server first by following the Backend Setup instructions.
  2. Open the Flutter application on your device or emulator by following the Frontend Setup instructions.
  3. Use the search functionality to find Pokemon by name.
  4. Upload an image of a Pokemon to classify it using the trained model.

Acknowledgements

  • This project uses data from the OpenPokeApi.
  • Many thanks to the contributors of the OpenPokeApi for providing a comprehensive Pokemon database.

Assets

Model Training

Model Training

Classification Feature

demo_classification_feature.mp4

User Interface

User Interface

Search Feature

Search Feature

About

A sleek Pokedex app built with Flutter for the frontend, Django for the backend, and an image recognition model builed with PyTorch to identify and explore Pokémon seamlessly.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published