Asociația CACTUS — Site de Prezentare cu Flux Editorial
Site de prezentare pentru o asociație academică: pagini editabile dintr-un CMS cu blocuri, evenimente și noutăți, flux editorial în trei roluri și un jurnal de activitate pe care aplicația nu îl poate rescrie.
Vezi proiectul live
Provocarea
Asociația Academică de Cercetare în Turism și Servicii CACTUS, înființată în 2008, își avea toată prezența online pe un blog Blogspot rămas neatins din aprilie 2013 — șase pagini și două postări, în total circa 8.100 de caractere. Evenimentele și anunțurile nu puteau fi publicate decât de o singură persoană, cu acces la contul de blog. În plus, numele CACTUS acoperă azi trei entități diferite — asociația, Centrul de cercetare al ASE și revista academică — iar textele vechi le amestecau, atribuind asociației realizări care nu îi aparțin.
Soluția Noastră
Am construit un site nou pe Next.js 16 și PostgreSQL, în care fiecare pagină publică se editează din panou, ca un set de blocuri. Publicarea trece printr-un flux cu trei roluri: redactorul scrie, moderatorul verifică pe un ecran de diferențe și publică, administratorul are tot; până și o modificare adusă unui material deja publicat rămâne invizibilă pe site până la aprobare. Garanțiile importante sunt impuse în baza de date, nu în cod: aplicația se conectează cu un rol fără drepturi DDL, iar jurnalul de activitate e append-only prin REVOKE și triggere, deci nici aplicația nu își poate rescrie propria istorie. Conținutul vechi a fost migrat cu sursele verificate una câte una, iar realizările Centrului și ale revistei sunt marcate explicit ca atare.
Funcționalități
- CMS cu blocuri pentru opt pagini editabile
- Evenimente și apeluri la lucrări, cu export în calendar (.ics)
- Noutăți, anunțuri și arhivă pe etichete
- Flux editorial în trei roluri: redactor, moderator, administrator
- Modificările la materialele publicate intră pe site doar după aprobare
- Jurnal de activitate append-only, impus la nivel de PostgreSQL
- Bibliotecă media cu imagini optimizate și invitații pe roluri
- Copii de siguranță automate, tabel de redirecturi și sitemap