Kaynağa Gözat

Updated readme with development notes

Lukas Angerer 3 yıl önce
ebeveyn
işleme
824802a538
1 değiştirilmiş dosya ile 52 ekleme ve 0 silme
  1. 52 0
      README.md

+ 52 - 0
README.md

@@ -1 +1,53 @@
 TODO
+
+# Development
+
+## Local Development
+Start the client with
+```shell
+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 
+```shell
+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
+```shell
+./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.
+
+```shell
+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
+```shell
+docker compose -f ./docker-compose-server.yml up
+```