En enkel app der ansatte logger inn med OAuth2/OIDC, registrerer om de er pa jobb man-fre i innevaerende uke, og backend sender Excel-rapport pa e-post kl. 08:00.
- OIDC-login med domene-sjekk (styres med
ALLOWED_EMAIL_DOMAIN, defaultcomputas.com) - Registrering av ukevalg (man-fre)
- Registrering lagres automatisk ved avhuking (ingen lagreknapp)
- Valg av uke (denne eller neste)
- Ukemeny med "dagens rett"
- Automatisk POC-meny per uke hvis meny ikke er satt ennå
- Lagring i lokal JSON-fil
- Daglig scheduler kl. 08:00 (serverens lokale tid)
- Excel-rapport (
.xlsx) + e-post via SMTP - Admin-endepunkt for manuell rapportkjøring
- Admin-knapp i UI for nedlasting av Excel-rapport
- Installer avhengigheter:
npm install - Lag
.envfra.env.exampleog fyll ut verdier. - Start appen:
npm run dev - Aapne
http://localhost:3000
Hvis du vil teste flyten uten ferdig OIDC-oppsett, sett:
DEV_AUTH_BYPASS_EMAIL=fornavn.etternavn@computas.com
Da vil "Logg inn med OAuth2" bruke lokal dev-login automatisk.
OIDC_ISSUER,OIDC_CLIENT_ID,OIDC_CLIENT_SECRET,OIDC_REDIRECT_URIALLOWED_EMAIL_DOMAINDEV_AUTH_BYPASS_EMAIL(kun lokal dev)SESSION_SECRETSMTP_HOST,SMTP_PORT,SMTP_USER,SMTP_PASS,REPORT_FROM_EMAIL,REPORT_TO_EMAILADMIN_TRIGGER_TOKENADMIN_EMAILS(kommaseparert liste over admin-brukere)
GET /api/me- hvem er logget innGET /api/week- henter status for innevaerende ukePOST /api/week- lagrer status for valgt uke (?week=current|next)POST /api/admin/run-report- trigger rapport manuelt (x-admin-token)GET /api/admin/report/download- laster ned Excel for innevaerende uke (krever innlogget admin)POST /api/admin/menu- oppdaterer meny for valgt uke (?week=current|next, admin)
- Bytte JSON-lagring til database (f.eks. Postgres)
- Bedre access-kontroll (roller/admin)
- Integrere Google Calendar for autofyll
- Legge pa deploy-oppsett (f.eks. Azure Web App + Key Vault)