44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
MinAttest React App (Vite)
|
|
|
|
Overview
|
|
|
|
- Vite + React app for MinAttest.
|
|
- Works with the .NET BFF at `frontend/minattest-app-host`.
|
|
- Calls the API through the BFF using relative `/api/...` paths.
|
|
|
|
Dev setup
|
|
|
|
- Start Api in `backend/minattest-app`
|
|
- Start BFF in `frontend/minattest-app-host`
|
|
- From `frontend/minattest-app`:
|
|
- Install deps: `npm ci` (or `npm install`)
|
|
- Start dev server: `npm run dev` (defaults to `http://localhost:5173`)
|
|
|
|
Login flow (no real auth)
|
|
|
|
- On the start page, choose one of:
|
|
- "Logg inn privat": enter a Person ID (GUID)
|
|
- "Logg inn bedrift": enter an Employer ID (GUID)
|
|
- The session is stored in localStorage and used until you click "Logg ut".
|
|
|
|
Available features
|
|
|
|
- Privat:
|
|
- Shows Person details
|
|
- Lists attester, with actions: Vis (inline preview), Last ned
|
|
- Upload PDF attest with title, period, summary
|
|
- Bedrift:
|
|
- Shows Employer details
|
|
- Lists attester, with actions: Vis (inline preview), Last ned
|
|
- Issue/upload PDF attest for a person with title, period, summary
|
|
|
|
Notes
|
|
|
|
- Deleting attester and toggling verification are present as UI controls but are not wired to API calls yet (endpoints missing). They currently show a notice.
|
|
- The app expects API routes:
|
|
- GET `/api/v1/persons/{id}` and `/api/v1/persons/{id}/attests`
|
|
- GET `/api/v1/employers/{id}` and `/api/v1/employers/{id}/attests`
|
|
- GET download endpoints under each entity: `.../attests/{attestId}/download`
|
|
- POST `/api/v1/persons/{id}/attests` with body matching `PersonAttestUploadRequest`
|
|
- POST `/api/v1/employers/{id}/attests` with body matching `EmployerAttestUploadRequest`
|