- **Windows-only:**WSL 2 + WSL Integration enabled in Docker Desktop
-**Windows-only:**[WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install) + [WSL Integration](https://docs.docker.com/desktop/wsl/) enabled in Docker Desktop
### Usage
### Usage
1. Clone the project.
1. Clone the project.
1. Open the project in VS Code.
1. Open the project in VS Code.
1. Make sure you have **Dev Containers** extension installed. (On Windows, you need the **WSL** VS Code extension as well.)
1. Make sure you have **Dev Containers** extension installed. (On Windows, you need the **WSL** VS Code extension as well.)
1. Reopen the project in container (from the popup in the lower-right corner of the screen when opening the project, or via the Command Palette (Ctrl+Shift+P) afterwards).
1. Reopen the project in container (from the popup in the lower-right corner of the screen when opening the project, or via the Command Palette (Ctrl+Shift+P*or* F1) afterwards).
1. Once in container mode, make a copy of `config.sample.yml` and rename it to `config.yml`. There's no need to edit the file, the default values are ok.
1. Once in container mode, make a copy of `config.sample.yml` and rename it to `config.yml`. There's no need to edit the file, the default values are ok.
1. From the Command Palette, run the task "Create terminals":
1. From the Command Palette, run the task "Create terminals":
- Launch the Command Palette (Ctrl+Shift+P)
- Launch the Command Palette (Ctrl+Shift+P*or* F1)
- Type "Run Task" and press Enter
- Type `Run Task` and press <kbd>Enter</kbd>
- Select the task "Create terminals" and press Enter
- Select the task "Create terminals" and press Enter
1. Two terminals will launch in split-screen mode at the bottom of the screen. **Server** on the left and **UX** on the right.
1. Two terminals will launch in split-screen mode at the bottom of the screen. **Server** on the left and **UX** on the right.
1. In the right-side terminal (UX), run the command:
1. In the right-side terminal (UX), run the command:
...
@@ -116,7 +87,7 @@ This will launch the server and automatically restart upon modification of any s
...
@@ -116,7 +87,7 @@ This will launch the server and automatically restart upon modification of any s
Only precompiled client assets are served in this mode. See the sections below on how to modify the frontend and run in SPA (Single Page Application) mode.
Only precompiled client assets are served in this mode. See the sections below on how to modify the frontend and run in SPA (Single Page Application) mode.
### Frontend Development (Quasar/Vue 3)
### Frontend Development
> Make sure you are running `npm run dev` in the left-side terminal (Server) first! Requests still need to be forwarded to the server, even in SPA mode!
> Make sure you are running `npm run dev` in the left-side terminal (Server) first! Requests still need to be forwarded to the server, even in SPA mode!
...
@@ -141,3 +112,35 @@ The server **dev** should already be available under **Servers**. If that's not
...
@@ -141,3 +112,35 @@ The server **dev** should already be available under **Servers**. If that's not
- Username: `postgres`
- Username: `postgres`
- Password: `postgres`
- Password: `postgres`
- Database: `postgres`
- Database: `postgres`
## Generic Setup
### Requirements
- Node.js **18.x** or later
- PostgreSQL **11** or later
### Usage
1. Clone the project
1. Make a copy of `config.sample.yml` and rename it to `config.yml`
1. Edit `config.yml` and fill in the database details. **You need an empty PostgreSQL database.**
1. Run the following commands to install dependencies and generate the client assets:
```sh
cd server
npm install
cd ../ux
npm install
npm run build
cd ..
```
1. Run this command to start the server:
```sh
node server
```
1. In your browser, navigate to `http://localhost:3000`*(or the IP/hostname of the server and the PORT you defined earlier.)*
1. Login using the default administrator user:
- Email: `admin@example.com`
- Password: `12345678`
> **DO NOT** report bugs. This build is **VERY** buggy and **VERY** incomplete. Absolutely **NO** support is provided either.