A minimal full-stack demo that lets you look up Pokémon by name or ID.
Backend is a .NET 8 minimal API (SQLite + EF Core + JWT), frontend is Vue 3 + Vite (Pinia + Tailwind).
- Search any Pokémon by name or ID
- Displays sprite, types, abilities, height & weight
- Results cached in a local SQLite database
- JWT-protected API endpoints with simple login
- Responsive, mobile-friendly UI
- Custom Pokémon logo font and styling
- Backend: .NET 8 minimal API, C#
- Database: SQLite via EF Core
- Auth: JWT (HMAC-SHA256)
- Frontend: Vue 3, TypeScript, Vite
- State: Pinia
- Styling: Tailwind CSS
- API client: Axios
- Docs: Swagger / OpenAPI
-
Clone the repo
git clone https://github.com/Dalej122/pokemon-information-app cd pokemon-information-app
-
Run the API in one terminal
cd PokemonApi dotnet restore dotnet run
- The API listens on http://localhost:5100
- Swagger UI: http://localhost:5100/swagger
-
Run the frontend in another terminal
cd pokemon-web npm install npm run dev
- The app runs on http://localhost:5173 (or the port shown by Vite)
- Use the app
-
Browse to http://localhost:5173
-
You’ll be redirected to /login
-
Sign in with:
Username: admin Password: Pa$$w0rd!
-
Enter a Pokémon name (e.g. “pikachu”) or ID (e.g. “25”) and click Search
- A pre-built pokemon.db is included in the repo so you don’t need to run EF migrations manually.
- To reset the cache, delete PokemonApi/pokemon.db and restart the API.
- App purposely does not store auth in localStorage to demo security feature.