Community website for runners to share tracks and plan runs together.

Lukas Angerer fec8f973df Event registrations client integration vor 2 Jahren
config a921902570 Build scripts and configuration for staging vor 3 Jahren
sandbox a921902570 Build scripts and configuration for staging vor 3 Jahren
src fec8f973df Event registrations client integration vor 2 Jahren
.editorconfig 765ba63237 Project configuration files vor 3 Jahren
.gitignore a921902570 Build scripts and configuration for staging vor 3 Jahren
DESCRIPTION 765ba63237 Project configuration files vor 3 Jahren
LICENSE 765ba63237 Project configuration files vor 3 Jahren
README.md 824802a538 Updated readme with development notes vor 3 Jahren
build.ps1 b57b099181 Restoring wwwroot/.gitkeep after build vor 3 Jahren
docker-compose-local.yml 2b7b9c754e Fixed track owner filtering with redundant field vor 3 Jahren
docker-compose-server.yml 03e1ad4708 Docker Compose file for running in prod behind a reverse proxy vor 3 Jahren
push.ps1 a921902570 Build scripts and configuration for staging vor 3 Jahren

README.md

TODO

Development

Local Development

Start the client with

cd src/RunnersMeet.Client
ng serve

It will run on the Angular default port http://localhost:4200

Start the server by either launching it from within your IDE or by running

cd src/RunnersMeet.Server
dotnet run .

In development mode, the API server runs on https://localhost:7247 with Swagger enabled (https://localhost:7247/swagger)

Create a Deployable Package

./build.ps1
./push.ps1

Staging (Docker Container)

To do some proper staging testing before updating the production environment, there is a dedicated docker-compose-local.yml file and a "sandbox" directory with HTTPS certificate and a mapped volume for the application data.

docker compose -f ./docker-compose-local.yml up

When running in this mode, the application frontend and backend are both accessed through https://localhost:7443

Production

The docker-compose-server.yml file assumes that the container will be accessed through a reverse proxy like Nginx and that SSL is applied on the level of that proxy. The container runs over HTTP on port 80 which is exposed as 7180 on the host.

On the production server, the application directory looks something like this:

- (d) config                     # copied from this repository
  - (f) app.prod.config.json
  - (f) app.staging.config.json
- (d) data                       # mounted as "/app/data" in the container
  - (d) files
  - (f) tracks.db
  - (f) tracks-log.db
- (f) docker-compose-server.yml  # taken from this repository

The server can then be started with

docker compose -f ./docker-compose-server.yml up