https://github.com/falberthen/pokegraph
An interactive Pokémon catalog built with .NET, GraphQL, and Vue 3
https://github.com/falberthen/pokegraph
csharp ddd graphql hotchocolate-graphql netcore typescript vue3
Last synced: 11 months ago
JSON representation
An interactive Pokémon catalog built with .NET, GraphQL, and Vue 3
- Host: GitHub
- URL: https://github.com/falberthen/pokegraph
- Owner: falberthen
- License: mit
- Created: 2022-02-12T03:43:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-18T01:59:00.000Z (almost 3 years ago)
- Last Synced: 2025-04-01T05:08:06.979Z (over 1 year ago)
- Topics: csharp, ddd, graphql, hotchocolate-graphql, netcore, typescript, vue3
- Language: C#
- Homepage: https://falberthen.github.io/posts/pokegraph-pt1/
- Size: 12.4 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](LICENSE)
# Pokégraph - .NET 7, GraphQL, HotChocolate and Vue 3 (composition API)
Pokégraph is my showcase of building a GraphQL-based API with .NET 7, front-ended by a very lightweight SPA built with Vue 3 (composition API) and Apollo.
It comes with an SQLite database loaded with 151 monsters but also allows you to perform queries for listing and mutations for adding or updating the existing ones.
Pokémon is © 1995-present Nintendo, The Pokémon Company, Game Freak, Creatures Inc.
This project does not claim to own any characters, concepts or artwork.
## Screenshots


#### Mutations


## Architecture
### Domain
This is where the domain models and business logic are defined. You may understand a bit more about the Pokémon domain by reading the code and understanding how the smaller pieces compose the aggregate.
### Api
A .NET 7 minimal API implementing GraphQL server to perform Queries, Mutations, and Subscriptions. It's in charge of using the infrastructure to perform database operations and return mapped ViewModels to the frontend.
### Infrastructure
Implements the database configuration and repositories. Also contains the `PokegraphDb` SQLite database with the 151 first Pokémon and their data for you to play.
## Technologies used
Backend
-
.NET 7 and
C# 10 - .NET 7
- Entity Framework Core 7.0.11
- EntityFrameworkCore.Sqlite 7.0.11
- Automapper 12.0.1
- HotChocolate 13.5.1
Frontend
## What do you need to run it
- The latest .NET Core SDK.
- NodeJs for the frontend.
#### Running the GraphQL Api
Navigate to `Pokegraph.Api` folder and run:
```console
$ dotnet run
```
#### Running the Vue 3 SPA
Navigate to `pokegraph.spa` and run for the node packages and serving the SPA on `http://localhost:8080` respectively:
```console
$ npm install
$ npm run serve
```