Skip to content

magik9907/group-meeting

Repository files navigation

Uruchomienie (instrukcja dla Visual Studio 2019)

  1. Uruchomić plik GroupMeeting.sln
  2. Uruchomić konsole menadżera pakietów i wpisać w niej komendę: EntityFrameworkCore\Update-Database lub z interfejsu wiersza poleceń programu .NET Core dotnet ef database update
  3. Rozpakować plik 84b3e03d-2f74-4ce4-9478-afa474e0259f.zip w ścieżce 'username'\AppData\Roaming\Microsoft\UserSecrets
  4. Uruchomić program z debugowaniem (F5) lub bez debugowania (Ctrl + F5) w trybie deweloperskim.

Biblioteki

jsPDF (2.3.1) - biblioteka do javascript-u pozwalająca tworzyć pliki PDF, wykorzystana w generowaniu biletów na spotkania;

EntityFrameworkCore (3.1.15) - biblioteka dostępu do danych wykorzystywana do zarządzania bazą danych;

Identity (2.2.3) - biblioteka zawierająca API do autentykacji i authoryzacji w programie i zarządzania użytkownikami;

SendGrid (9.23.1) - biblioteka umożliwiająca wysyłanie wiadomości e-mail.

group-meeting

.Net project

Spotkania grup Platforma służy do publikowania, wyszukiwania i prezentowania spotkań grup np. mastermind. Funkcjonalności

  1. Profil użytkownika (1 pkt):
    • jako Niezalogowany Użytkownik mam możliwość rejestracji w serwisie
    • jako Niezalogowany Użytkownik mam możliwość zresetowania hasła do własnego profilu; procedura odzyskiwania hasła powinna być bezpieczna (np. przez wysłanie linku aktywacyjnego na adres email)
    • jako Zalogowany Użytkownik mogę edytować moje dane
    • jako Niezalogowany Użytkownik mogę się zalogować i wylogować z serwisu
  2. Zalogowany użytkownik ma możliwość tworzenia grup. Grupa ma nazwę, opis, miasto oraz listę uczestników. Użytkownik, który tworzy grupę jest jej właścicielem. Jeden użytkownik może być właścicielem maksymalnie 10 grup. Właściciel grupy może dowolnie ją modyfikować - usuwać i edytować (2 pkt)
  3. Zalogowany użytkownik może dodawać, usuwać i edytować kategorie. Właściciel grupy może ją przypisać do jednej z kategorii (np. IT) , a dowolny użytkownik może wyszukiwać grupy według kategorii. Usunięcie kategorii nie powinno spowodować usunięcia grupy. (1,5 pkt)
  4. Użytkownik (zalogowany i niezalogowany) ma możliwość wyszukania interesującej go grupy po nazwie lub mieście. Wyszukane grupy są wyświetlane według najnowszej daty utworzenia. (1 pkt)
  5. Dowolny zalogowany użytkownik może zapisać się do dowolnej grupy i wypisać się z grupy. Zapisany użytkownik może przeglądać listę grup, do których jest zapisany. (1 pkt)
  6. Właściciel grupy może organizować spotkania grupy. Spotkanie ma temat, opis, datę, godzinę, lokalizację oraz link do spotkania online i limit osób. Historia spotkań jest dostępna na profilu grupy. (1 pkt)
  7. Uczestnik grupy może zapisać się lub wypisać się do/ze spotkania grupy, do której należy. Do spotkania może dołączyć określona w “limicie osób” liczba uczestników. (1 pkt)
  8. Uczestnik spotkania może wygenerować i pobrać bilet wstępu na spotkanie w postaci pliku PDF. Bilet wstępu powinien zawierać kod QR, numer biletu, nazwę grupy, temat oraz miejsce spotkania, a także datę i godzinę spotkania (1,5 pkt)
  9. Aplikacja powinna mieć estetyczny wygląd (1 pkt)

Projekt - zasady

  1. Projekt główny jest realizowany w grupach 3 osobowych (w wyjątkowych wypadkach w grupach 2 lub 4 osobowych).
  2. Maksymalna liczba punktów jaką może uzyskać każdy z autorów projektu za realizację projektu to 10 punktów.
  3. Zespół może zgłosić własny temat projektu. Lista funkcjonalności oraz punktacja ustalana jest indywidualnie z prowadzącym zajęcia.
  4. Finalna wersja projektu powinna zawierać:
    1. kod źródłowy,
    2. dodatkowe zasoby potrzebne do uruchomienia projektu (np. skrypty tworzące bazę danych, dodatkowe biblioteki),
    3. plik README z opisem wykorzystanych bibliotek (wraz z wersjami) i instrukcją instalacji/konfiguracji projektu
    4. dokumentację (w wersji elektronicznej w formacie pdf) zawierającą: opis projektu oraz opis zrealizowanych funkcjonalności, harmonogram prac i link do repozytorium projektu.
  5. Projekt powinien być realizowany na zewnętrznym systemie kontroli wersji (projekt prywatny na github.com) i udostępniony prowadzącemu do odczytu (NNNNNNNNNNNNN).
  6. Finalna wersja projektu powinna zostać umieszczona w systemie CEZ.
  7. Każda osoba w zespole jest oceniana indywidualnie za systematyczność dostarczanych zmian.
  8. Zespół projektowy 2 razy w ciągu semestru prezentuje postęp w realizacji projektu (nie częściej niż raz w tygodniu).
  9. W przypadku pojedynczej prezentacji projektu konkretna osoba otrzyma zmniejszoną o 50% liczbę punktów za projekt finalny.
  10. W przypadku braku prezentacji projektu punkty za jego realizację nie zostaną przyznane.
  11. Punkty za projekt nie zostaną przyznane w przypadku stwierdzenia braku samodzielności w realizacji zadania lub braku repozytorium projektu.
  12. Termin oddania projektu: zajęcia w ostatnim tygodniu semestru (14-18.06.2021).
  13. Istnieje możliwość wcześniejszego oddania projektu po ustaleniu terminu z prowadzącym.