Skip to content

Dydek123/Cinema-booking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java projekt

Tytuł: System rezerwacji biletów do kina

Projekt wykonany przez:


  • Damian Marecik
  • Dawid Mazurkiewicz
  • Kamil Maksymowicz
  • Magdalena Marek
  • Miłosz Momot

Założenia ogólne:

Projekt z przedmiotu Java to program pozwalający użytkownikowi na rezerwacje biletów w kinie.

Do realizacji projektu użyliśmy:

  • Biblioteki Swing odpowiadającej za tworzenie GUI
  • Własnoręcznie zaprojektowanych grafik
  • Git'a jako systemu kontroli wersji
  • SQLite do obsługi bazy danych
  • Każdy z nas używał IntelliJ jako środowiska programistycznego

Założenia projektowe:

Projekt realizuje następujące założenia

  1. Narzędziowe:
    • Projekt jest Mavenowy i poprawnie buduje się spoza środowiska developerskiego. Za poprawną budowe odpowiada plik pom.xml, który dostarcza informacje o wersjach, lokalizacji klasy Main, uzytych bibliotekach i lokalizacji resources. Wynikiem budowy jest plik kino.jar
    • Otrzymany w budowie plik kino.jar można uruchomić z konsoli systemu operacyjnego. Za poprawne wczytywanie grafik odpowiada przekazanie ikony jako URL do graficznych elementów. Poprawnie skompilowane tło można zauważyć w pliku Java-projekt.jar. W innych miejscach ścieżka podana jest bezpośrednio.
    • Poprawności programu dowodzi 6 testów jednostkowych
    • Które mają status PASSED podczas budowania przez Maven
    • Projekt został umieszczony pod kontrolą wersji za pomocą Gita.
    • Struktura gałęzi została podzielona odpowiednio na:
      • Gałąź Master przechowującą stabilną wersje programu.
      • Gałąź Dev deweloperską służącą do integracji wprowadzanych funkcji.
      • Gałęzie bugfix służące do naprawiania bugów poszczególnych funkcji.
      • Gałęzie feature służące do dodawania nowych funkcjonalności projektu.
  2. Design:
    • Skorzystaliśmy z interface'ów i klas abstrakcyjnych jako elementu programowania obiektowego.
    • Skorzystaliśmy z polimorfizmu
    • Wykorzystaliśmy 3 wzorce projektowe gangu czworga:
      1. Factory method
      2. Builder
      3. Dekorator
    • Zdekomponowaliśmy odpowiedzialności odpowiednio co może potwierdzić insight repozytorium. Każdy z uczestników projektu przyczynił się do jego finalizacji.
      • Miłosz Momot - HR, merge i zarządzanie repozytorium, rozwiazywanie konfliktów i problemów, oprawa graficzna, development, konstruowanie pom.xml
      • Kamil Maksymowicz - development, wzorce projektowe
      • Magdalena Marek - testowanie, pomoc przy oprawie graficznej
      • Damian Marecik - szkielet programu, development, rozwiązywanie problemów, wprowadzanie nowych funkcji, konstruowanie pom.xml
      • Dawid Mazurkiewicz - Oprawa graficzna, development, rozwiązywanie problemów, konstruowanie pom.xml

Ciekawe rozwiązania:

  • Edycja danych nie wymaga wychodzenia z panelu

  • Zastąpienie prostej listy dostępnych filmów siatką plakatów. Filmy, dla których nie sa dostępne seanse w najblizszym czasie( jak i te, których wszystkie seanse już się odbyły) nie są wyświetlane.

  • Zastosowanie patternow w celu weryfikacji wprowadzanych danych

  • Podział użytkowników na zwykłych użytkowników i adminow. Przykładowy login i hasło:

    • Admin:
      • Login: duda
      • Hasło: duda
    • Zwykły użytkownik:
      • Login: dad
      • Hasło: dad

    W panelu admina pojawiają się dodatkowe przyciski pozwalające na dodawanie seansów i filmów.

  • Intuicyjna oprawa graficzna osiągnięta przez zastosowanie hoverów i zaprojektowane własnoręcznie przyciski

  • Utworzenie klas i struktur w bazie danych umożliwiających w przyszłości dalszą rozbudowe programu o możliwość kupna biletów.


README by Miłosz Momot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages