Skip to content

Read-only database built with FastAPI deployed on Google Cloud Run. Project made with the help of the Pybites Developer Mindset Program

Notifications You must be signed in to change notification settings

cmsato09/DQMonstersDB-API

Repository files navigation

DQMonstersDB-API

Intro

Dragon Quest Monsters is a spin-off series based on the famous JRPG series, Dragon Quest. This database informs the user of game details (monsters, skills, items, etc.) of Dragon Quest Monsters -- Terry's Wonderland (also known as Dragon Warrior Monsters in the US).

Released in Japan in 1998 for the Gameboy Color by Enix, it was compared to the Pokemon series due to their similar gameplay of taming and training monsters to battle other monsters via random encounters. However, gameplay differs with its roguelike dungeon levels, the battling system, and the breeding system.

The game is quite old and not many copies are in circulation. The current way to play the game is to buy "Dragon Quest Monsters -- Terry's Wonderland RETRO" for the Nintendo Switch on the Japanese Nintendo eShop or on Google Play and Apple Store by setting your region to Japan (the game will be in Japanese). Otherwise, use an emulator and download the English version.

Project Description

This project's purpose is to learn how to make an API with Python by creating my own wiki website and database. There are some Japanese game wikis for this particular game, but incredibly frustrating to use and search through. By putting all the data into a SQL database, it should be easier to access and find information.

This project is made with FastAPI, a webframework for building APIs with Python.

How to Use

This repo is deployed on Google Cloud Run

Access the Swagger UI interface of this FastAPI at https://dqmonstersdb-api-743047725852.us-central1.run.app/docs

Swagger UI homepage

Trying out a endpoint

How to Run Locally

  1. Clone this repo onto your local machine.
  2. Install dependencies onto virtual environment.
  3. run src/app/create_database.py to make the sqlite database using the csv files. database.db file should be generated in the project folder.
  4. Run fastapi dev src/app/main.py in the terminal
  5. Open http://127.0.0.1:8000 (or http://localhost:8000)
  6. Open http://127.0.0.1:8000/docs to access the interactive API documentation using Swagger UI
# run commands from the project folder directory
pip install -r requirements.txt

python src/app/create_database.py

fastapi dev src/app/main.py

uv package manager

If you are running things with the uv package manager , use the following commands.

uv sync

uv run python src/app/create_database.py

uv run fastapi dev src/app/main.py

Resources used to make project

Credits

This project is done with help and mentoring by Bob Belderbos through the Pybites Developer Mindset Program

Thank you Bob for helping me figure out the data models portion. Creating a many-to-many table with multiple foreign keys was a journey.

About

Read-only database built with FastAPI deployed on Google Cloud Run. Project made with the help of the Pybites Developer Mindset Program

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •