| backend | ||
| docs/devnotes | ||
| frontend | ||
| janus-devserver | ||
| .editorconfig | ||
| .gitignore | ||
| README.md | ||
| run-devenv-in-tmux | ||
Polyphone
Project Structure
Frontend and Backend are developed individually and only share minimal touching points. During development, the Frontend is served from its own Dev-Server on Port 3000 and the Backend runs on Port 8000. Communication is allowed with a special CORS Header on the Backend.
During build the Frontend gets down-compiled to static assets and a static index.html that are served via a nginx server
in production. The nginx-Server also proxies everything under /api and /admin to the wsgi/asgi server, running the
Backend.
Frontend
The Frontend is based on the vite tooling and written in TypeScript with React as Frontend-Framework. vitejs provides a dev-Server with Hot-Reload capabilities and tooling for compiling, bundling and minifying the Frontend-Code into static assets.
Backend
The Backend is build with Java and the Spring Framework
Dev-Setup
Install:
- NodeJS 21 or newer
- Yarn (latest version)
- Java 21
The easiest way to start the backend and the frontend dev-env is to run them in a tmux:
./run-devenv-in-tmux
This will open up tmux with three panes: backend on the left, ui on the right. To quit both, type Ctrl-b &.
Build
tbd.
Prod-Setup
tbd.