summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..05e6ce1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,56 @@
+# Great Office
+
+[Changelog](CHANGELOG.md)
+
+## server
+
+Contains an ASP.NET Core Web API project using the [ApiEndpoints](https://github.com/ardalis/ApiEndpoints) paradigm.
+
+It handles all data operation and administration for the platform.
+
+To run it you need .NET 6 and a PostgreSQL instance.
+
+### Environment
+
+The server is configured through environments variables,
+in development [user-secret](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets) is a nifty tool.
+
+All environment variables the server needs to function properly is specified
+in [src/server/Data/Static/AppEnvironmentVariables.cs](./server/src/Data/Static/AppEnvironmentVariables.cs),
+at a bare minimum these variables needs to be set:
+
+```
+DB_HOST=<host>
+DB_USER=<user>
+DB_PASSWORD=<password>
+DB_NAME=<schema>
+```
+
+### Building/Developing
+
+To run the server in development mode use `dotnet run` (`dotnet watch` for hot-reloading).
+
+To build the server locally use `dotnet build` or `dotnet build -c Release` for production builds.
+
+## tests
+
+Contains integration tests for the web-app, written in .NET and xunit with Playwright for browser mocking.
+
+It automatically starts the server and expects the server to host the web-app at /index.html.
+
+Use `dotnet run` to run the tests.
+
+## apps/web-app
+
+A svelte project built with vite.
+
+Run the dev task in package.json to open a dev server at localhost:3xxx (usually :3000). Append `--host` as a parameter to this task if you need to expose the app on your local
+network.
+
+Contains the public sites (in `apps/web-app/_public`) which include login, signup and password resetting etc. and the meat of the application as a nested application (meaning it is
+not loaded unless you are logged in)
+in `apps/web-app/app`.
+
+## apps/web-shared
+
+A source lib containing models, shared styles and shared components for all of great office's js clients.