Files
filing-cabinet-web/README.md
T

70 lines
1.4 KiB
Markdown

# Filing Cabinet
React social platform shell met duidelijke scheiding tussen frontend en backend.
## Architectuur
- `frontend/`: React (Vite) UI met pagina's, routes, knoppen en directe externe API-calls.
- `backend/`: Bewust zonder eigen API-endpoints.
## Pagina's en functionaliteit
- Landing (`/`)
- Login (`/login`)
- Register (`/register`)
- Feed (`/feed`)
- Create (`/create`)
- Profile (`/profile`)
Werkende acties:
- Inloggen en registreren
- Alle posts laden
- Eigen posts laden
- Posts aanmaken, bewerken en verwijderen
- Beveiligde postafbeeldingen laden
- Uitloggen
## Externe API-koppeling
Frontend gebruikt alleen externe API-calls via:
- `VITE_API_BASE_URL`
De volgende endpoints worden vanuit de frontend aangeroepen:
- `POST /auth/login`
- `POST /auth/register`
- `GET /posts`
- `GET /posts/me`
- `GET /posts/image/:filename`
- `POST /posts/create`
- `PUT /posts/edit?id=<id>`
- `DELETE /posts/delete?id=<id>`
Zie `frontend/.env.example`.
## Security en validatie in UI
- Sessiegegevens staan in `sessionStorage` (niet meer in `localStorage`).
- Upload heeft client-side limiet van 5 MB.
- Login/register hebben client-side inputvalidatie (lengte/patterns).
## Starten
### 1) Frontend
```bash
cd frontend
cp .env.example .env
npm install
npm run dev
```
Frontend draait standaard op `http://localhost:5173`.
## Belangrijk
Deze repository bevat geen lokale backend API.
Auth, database, vrienden en uploads worden extern afgehandeld.