A single-server OSS Support Portal that ships a status board, announcements feed, and admin control panel with a clean, modern UI.
- Login-protected admin panel for managing services and announcements.
- User dashboard with grouped service status, overall indicator, and announcements feed.
- REST API endpoints for service status and notifications.
- OpenAPI v1 spec viewer in the admin panel.
- SQLite + Prisma for a lightweight, file-based database.
- Install dependencies:
npm install
- Run Prisma migrations (creates
dev.dblocally):npx prisma migrate dev
- Start the app:
npm run dev
- Visit
http://localhost:3000.
- Username:
admin - Password:
Brillar
On first run, the admin user is seeded automatically if it does not already exist.
Use Prisma Studio or update the user record directly:
npx prisma studioOpen the User table and update the password hash. For a quick reset, you can also delete the admin user and restart the server to re-seed.
Open the admin panel and select the OpenAPI Spec tab. The spec matches the live endpoints:
GET /api/service-statusGET /api/notifications
This repo includes a render.yaml blueprint. To deploy:
- Create a new Render Blueprint deployment and point it at this repo.
- Render provisions a disk at
/datafor the SQLite database. - The service uses
npm startand runs migrations automatically during build.
Note: Render’s filesystem is ephemeral without a disk. The blueprint attaches a disk so your SQLite database persists.
Service status is currently updated manually through the admin panel. In future iterations, these entries can be wired to real health checks or automated incident tooling.