/Social-Network-Implementations

Social Network backend wannabe, meant as an exercise for learning OOP and Data Structures. Made in 19 different ways.

Primary LanguageC++

Cerinta

Funcționalități de bază (cerințe funcționale):

  • Gestiunea utilizatorilor: operații CRUD (pt a avansa mai rapid propun să citim acești utilizatori, inițial dintr-un fisier csv.
  • Gestiunea relațiilor de prietenie între utlizatori: adăgare/ștergere prieten
  • Gestiunea mesajelor: trimitere/stergere mesaj
  • Gestiunea evenimentelor. (FACULTATIV: se va implementa șablonul Observer pentru notificări, abonare/dezabonare la un eveniment – 10 puncte bonus)

Modelul Conceptual si Arhitectura aplicației (cerințe nonfuncționale):

  • Entitățile problemei ar putea fi (puteți să redenumiți îm limba engleză aceste entități și, de asemenea, puteți identifica altele noi sau să le reprezentați altfel pe cele stabilite mai jos):
    • Utilizator:
    • Prietenie
    • Mesaj
    • Eveniment
    • Retea (FACULTATIV: SINGLETON – 5 puncte bonus)
  • Relații între entități:
    • Un utilizator al rețelei are o lista de prieteni
    • O prietenie se stabilește între doi utilizatori ai rețelei
    • Rețeau este definită de mulțimea utilizatorilor și a relațiilor de prietenie dintre aceștia

Cerințe implementare structuri de date: În rezolvarea problemelor de mai sus se vor implementa, doua dntre următoarele structuri de date, cele care vă vor fi asignate la orele de seminar:

  • TAD Lista cu elemnte generice (Template ) cu reprezentare pe array
  • TAD Lista cu elemnte generice (Template ) cu reprezentare înlănțuită
  • TAD Mulțime cu elemente generice (Template ) cu reprezentare înlănțuită
  • TAD Dictionar cu elemente generice (Template ) cu reprezentare înlănțuită
  • TAD Multi Dictionar cu elemente generice (Template ) cu reprezentare înlănțuită
  • TAD Mulțime Ordonată cu elemente generice (Template ) cu reprezentare pe arbore binar de căutare
  • TAD Mulțime Ordonată cu elemente generice (Template ) cu reprezentare pe tabelă de dispersie
  • TAD Graf cu reprezentare pe matrice (pt retea) – FACULTATIV – 5 puncte bonus. Observație: Se pot defini si alte structuri de date necesare rezolvării problemei.