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

Lukas Angerer 1e58f0ff88 Replacing menu 3 жил өмнө
config a921902570 Build scripts and configuration for staging 3 жил өмнө
sandbox a921902570 Build scripts and configuration for staging 3 жил өмнө
src 1e58f0ff88 Replacing menu 3 жил өмнө
.editorconfig 765ba63237 Project configuration files 3 жил өмнө
.gitignore a921902570 Build scripts and configuration for staging 3 жил өмнө
DESCRIPTION 765ba63237 Project configuration files 3 жил өмнө
LICENSE 765ba63237 Project configuration files 3 жил өмнө
README.md 824802a538 Updated readme with development notes 3 жил өмнө
build.ps1 b57b099181 Restoring wwwroot/.gitkeep after build 3 жил өмнө
docker-compose-local.yml 2b7b9c754e Fixed track owner filtering with redundant field 3 жил өмнө
docker-compose-server.yml 03e1ad4708 Docker Compose file for running in prod behind a reverse proxy 3 жил өмнө
push.ps1 a921902570 Build scripts and configuration for staging 3 жил өмнө

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