CMSmall — Small Content Manager System
01/01/2024
Progetto realizzato per l’esame di Creazione Siti Web al Politecnico di Torino (valutazione finale: 30).
Cosa fa
- Front-office: visualizzazione delle pagine pubblicate e dei contenuti.
- Back-office: accesso autenticato per creare/modificare/ordinare contenuti e gestire pagine.
Rotte client (React)
/: root del front-office./back-office: area riservata agli utenti loggati./back-office/add: creazione pagina.
API server (estratto)
GET /api/pages/: lista pagine (pubbliche se non loggato, tutte se loggato).GET /api/pages/:id: dettaglio pagina con contenuti (se non pubblicata richiede login).POST /api/session: login.DELETE /api/sessions/current: logout.POST /api/pages: crea pagina (con controlli su proprietario/ruolo).PUT /api/pages/:id: modifica pagina (con controlli su proprietario/ruolo).DELETE /api/pages/:id: elimina pagina (admin o autore).
Database (tabelle principali)
users: utente, credenziali e ruolo (admin/utente).pages: titolo, autore, date creazione/pubblicazione.contents: contenuti delle pagine (testo/immagine) e ordinamento.
Componenti principali (React)
MainRoute: container principale (front-office + back-office).NavBar: navigazione e login (LoginMenu).PageCreator: visualizzazione/edit/creazione pagina.ContentsManager/ContentsCreator: gestione e creazione dei contenuti.PagesBar: lista pagine e selezione/cancellazione.
Repo: https://github.com/AlbertoHugonin/SmallContentManagerSystem • Live: https://contentmanager.albertohugonin.it/#