Files
owof-announcements/README.md
T
redglow f729d24c65
Build and Deploy / Build and Upload (push) Successful in 1m16s
Build and Deploy / Upload (push) Successful in 1m47s
chore: print data extracted from environment.
2026-06-23 15:26:11 +02:00

32 lines
1.1 KiB
Markdown

# Owof announcements
This project serves the purpose of serving announcements to display in-game for owof games.
It includes:
- a web interface to add, edit or remove notifications
- notifications with a title, a text body, a publication date (notifications won't be served to games if the publication date is in the future) and an image
## How it works
The web app is an express.js + vite / react app made with vite-express.
It provides a web interface to perform CRUD operations. These operations are performed via REST APIs (add/edit are performed directly via form post).
All the interface must be protected under authentication EXCEPT for the GET /api/announcements/from-game and GET /images/\<filename\>. This endpoint, and only this, is the one used by games to retrieve the list of notifications, and /images/* provides all the images for the announcements.
## Compilation and deployment
Compile:
```
./node_modules/vite build
```
Run:
```
NODE_ENV=production HTTP_PORT=19285 DATABASE_PATH=/opt/owofannouncements/data.db UPLOADS_DIR=/opt/owofannouncements/uploads node /opt/owofannouncements/server/src/server/main.ts
```
Copy to server: