Skip to content

fabianmiu15/MicroSocialPlatform

Repository files navigation

📝 Cerințe Proiect: Platforma "Micro-social platform"

Platforma va fi o aplicație web dezvoltată în ASP.NET Core MVC și C#, utilizând Entity Framework Core pentru gestionarea datelor și ASP.NET Identity pentru autentificare și roluri.

https://trello.com/b/cK3TMfOW/micro-social-platform


1. Tipuri de Utilizatori (0.5p)

Să existe cel puțin 3 tipuri de utilizatori:

  • Vizitator neînregistrat
  • Utilizator înregistrat
  • Administrator

2. Căutare și Profiluri (1.0p)

Căutare

  • Orice utilizator (inclusiv neînregistrat) poate căuta persoane în platformă.
  • Căutarea se face după întregul nume sau după părți din numele utilizatorului.

Vizualizare Profil

  • Profilul poate fi vizualizat complet doar dacă este public.
  • Dacă profilul este privat, se afișează doar informațiile de bază:
    • Numele complet
    • Descrierea adăugată de utilizator
    • Imaginea de profil

Gestiunea Profilului (Utilizatori înregistrați)

  • Utilizatorii înregistrați pot crea și edita propriul profil.
  • Profilul trebuie să conțină: numele complet, o scurtă descriere și o poza de profil (toate câmpurile sunt obligatorii).
  • Fiecare utilizator poate stabili vizibilitatea profilului (public sau privat) în momentul editării.

3. Grupuri și Moderatori (1.0p)

Alăturare Grup

  • Utilizatorii se pot alătura grupurilor doar dacă au un cont activ.
  • Utilizatorii pot da "join" într-un grup, iar cererea trebuie acceptată de moderatorul grupului (cel care a creat grupul).

Caracteristici Grup

  • Grupul trebuie să aibă o denumire și o descriere (ambele obligatorii).

Mesaje în Grup

  • Utilizatorii pot trimite mesaje către grupurile din care fac parte.
  • Utilizatorii pot edita sau șterge propriile mesaje.

Părăsire/Eliminare Grup

  • Un utilizator poate părăsi grupul sau poate fi eliminat de moderator.
  • Moderatorul poate șterge grupurile pe care le-a creat.

4. Postări și Comentarii (2.0p)

Postări (Conținut Media)

Utilizatorii pot posta în platformă conținut de tip media:

  • Text
  • Imagini (0.5p)
  • Videoclipuri (0.5p)

Comentarii

  • Utilizatorii pot comenta la postările existente.

Gestiunea Conținutului

  • Fiecare utilizator poate edita și șterge propriile postări și comentarii.
  • Nu are dreptul să editeze sau să șteargă conținutul altor utilizatori.

Afișare

  • Postările și comentariile se vor afișa în ordine descrescătoare după dată.

5. Cereri de Urmărire (Follow System) (1.0p)

  • Utilizatorii pot trimite și primi cereri de urmărire (unidirecționale).

Cont Privat

  • Dacă un cont este privat, cererea trimisă rămâne "Pending" până la acceptare sau refuz.
  • Dacă cererea este acceptată, utilizatorul poate vizualiza profilul complet al persoanei respective.
  • Dacă cererea este refuzată, nu se creează o legătură reciprocă.

Cont Public

  • Dacă profilul este public, poate fi vizualizat fără a trimite cerere.
  • Profilul public conține: nume, descriere, poză de profil și postările utilizatorului.

6. Reacții și Feed Personalizat (1.0p)

Reacții ("Like")

  • Utilizatorii pot aprecia postările altor persoane printr-un sistem de "like" sau reacții.
  • Un utilizator nu poate reacționa de două ori la aceeași postare.

Feed Personalizat

  • Fiecare utilizator are un feed personalizat care afișează postările utilizatorilor urmăriți (followings).
  • Postările din feed sunt ordonate descrescător după dată.

7. Componentă AI – Filtrare Automată a Conținutului Neadecvat (1.0p)

  • Înainte de publicare, sistemul apelează companionul AI pentru a verifica dacă textul (postare sau comentariu) conține limbaj nepotrivit (insulte, hate speech, limbaj discriminatoriu, etc.).
  • Dacă mesajul este considerat neadecvat:
    • Sistemul blochează publicarea.
    • Utilizatorul primește un mesaj de eroare prietenos: "Conținutul tău conține termeni nepotriviți. Te rugăm să reformulezi."

8. Administrare Platformă (0.5p)

  • Administratorul se ocupă de buna funcționare.
  • Acesta poate șterge orice conținut considerat neadecvat (comentarii, mesaje, utilizatori, grupuri, postări etc.).

9. Calitatea Proiectului și Integrarea AI Companion (1.0p)

Se punctează următoarele aspecte:

  • Organizarea corectă a aplicației MVC (Models, Views, Controllers).
  • Validări de date și mesaje de eroare clare.
  • Seed de date realist (minim 3 utilizatori, 3 grupuri și 5 postări).
  • Integrarea corectă a companionului AI și documentarea modului de funcționare.
  • README complet (raportul proiectului).

Punct din Oficiu

  • Se acordă 1 punct din oficiu pentru proiectele complete, funcționale și documentate conform cerințelor.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages