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

Lukas Angerer b9cb12ecf2 Script for versioning and release 2 years ago
config a921902570 Build scripts and configuration for staging 3 years ago
sandbox a921902570 Build scripts and configuration for staging 3 years ago
src 93e57abc5c Adding current user's registration state to the registration list 2 years ago
.editorconfig 765ba63237 Project configuration files 3 years ago
.gitignore a921902570 Build scripts and configuration for staging 3 years ago
DESCRIPTION 765ba63237 Project configuration files 3 years ago
LICENSE 765ba63237 Project configuration files 3 years ago
README.md 824802a538 Updated readme with development notes 3 years ago
build.ps1 b57b099181 Restoring wwwroot/.gitkeep after build 3 years ago
docker-compose-local.yml 2b7b9c754e Fixed track owner filtering with redundant field 3 years ago
docker-compose-server.yml 03e1ad4708 Docker Compose file for running in prod behind a reverse proxy 3 years ago
push.ps1 a921902570 Build scripts and configuration for staging 3 years ago
release.ps1 b9cb12ecf2 Script for versioning and release 2 years ago

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