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.
The Pokedex project consists of three main components:
- Frontend: Built with Flutter, providing a user-friendly interface for searching and displaying Pokemon information.
- Backend: Implemented with Django, handling API requests and serving the model predictions.
- 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
- Search for Pokemon by name.
- Classify images of Pokemon using the trained model.
- Retrieve detailed information about each Pokemon from the OpenPokeApi.
- Python 3.8+
- Node.js
- Flutter SDK
- Dart SDK
-
Navigate to the backend directory:
cd backend/pokedex_model_api -
Install the required Python packages:
pip install -r requirements.txt
-
Apply the database migrations:
python manage.py migrate
-
Start the Django development server:
python manage.py runserver
-
Navigate to the frontend directory:
cd frontend -
Install the required Dart packages:
flutter pub get
-
Run the Flutter application:
flutter run
- Start the backend server first by following the Backend Setup instructions.
- Open the Flutter application on your device or emulator by following the Frontend Setup instructions.
- Use the search functionality to find Pokemon by name.
- Upload an image of a Pokemon to classify it using the trained model.
- This project uses data from the OpenPokeApi.
- Many thanks to the contributors of the OpenPokeApi for providing a comprehensive Pokemon database.


