A fun platform for gamers
Questlist is a web based platform for… things…
⚠️ WARNING: There is an
.envfile required for development. While this file will NEVER contain production credentials, it is still highly important that it does not get uploaded to this repository in order to mitigate security issues. The necessary precautions are already in place to prevent the file from being uploaded so you do not have to worry about it.
In order to run the development environment locally, you will need to have installed the following:
In order to setup your environment, please complete the following steps under the section for your operating system.
git clone https://github.com/questlist-development/questlist.git
.env files needed from another team memeber. Place them in the “questlist” directory. .\scripts\powershell\Setup.ps1
docker compose -f 'docker-compose.yml' up -d
The basic containers should gradually start and the app should be accessible at http://localhost. If you need to start the tools as well, see instructions for running the tools profile.
git clone https://github.com/questlist-development/questlist.git
.env files needed from another team memeber. Place them in the “questlist” directory. ./scripts/bash/setup.sh
docker compose -f 'docker-compose.yml' up -d
The basic containers should gradually start and the app should be accessible at http://localhost. If you need to start the tools as well, see instructions for running the tools profile.
When working in the front end, you are going to want to see the changes your code has made. The easiest way to accomplish this is to run the “app” container with watch enabled. To do so, run the following command in the “questlist” directory:
docker compose up --watch --build app
It will take a minute or two to start, but you will be able to see the server output in your terminal and anytime you save a file in the “queslist/src/Questlist.App” directory, its changes will be published and the app will hot reload.
All .NET Web APIs in Questlist have an Open API definition file and produce a documentation page at the /swagger endpoint. You can access these pages when the application is running in docker through your local host. Addresses for each service can be found in the table below.
| API Name | Documentation Address |
|---|---|
| Identity | https://identity.localhost/swagger |
| Games | https://games.localhost/swagger |
| Collections | https://collections.localhost/swagger |
In order to keep the development environment resource usage to a minimum, tools like Prometheus, Grafana, Adminer and Kibana are not spun up by default. They can be activated with the following command ran from the “questlist” directory:
docker compose -f 'docker-compose.yml' --profile tools up -d
Queslist uses Adminer in order to provide a visual management solution for the database. This allows you to easily query and manipulate data as needed while developing. You can access Adminer, when the application is running in docker with the tools profile on, at http://localhost:8080.
On the Adminer page, set the System dropdown to PostgresSQL. Set the Server field to database. The username and password are located in the .env file retrieved earlier under the values POSTGRES_USER and POSTGRES_PASSWORD. The Database field can be left blank. Clicking Login should permit you access.