Skip to content

pik-ride2work/Ride2Work

Repository files navigation

Dokumentacja aplikacji Ride2Work

Opis Systemu

Celem przewodnim aplikacji jest zachęcenie pracowników do podjęcia aktywności fizycznej w trakcie podróży do pracy, przesiadając się z samochodów oraz kominukacji publicznej na rower.

Architektura aplikacji

Diagram modelu danych

component-diagram

Diagram komponentów

component-diagram

Wymagania funkcjonalne aplikacji

  1. Obsługa kont użytkownika:
    i. rejestracja
    ii. logowanie
    iii. wylogowywanie

  2. Drużyny:
    i. możliwość stworzenia własnej drużyny
    ii. możliwość dołączenia do istniejącej drużyny
    iii. możliwość przeglądania listy istniejących drużyn iv. dostęp do widoku drużynowego po dołączeniu

  3. Trasy:
    i. możliwość wgrania własnej trasy z pliku w formacie .GPX
    ii. możliwość przeglądania własnych tras ich oraz podsumowań w formie statystyk takich jak: dystans, czas, średnia prędkość, maksymalna prędkość
    iii. możliwość wyświetlenia własnych tras na mapie

  4. Statystyki drużynowe:
    i. możliwość przeglądywania statystyk drużynowych w postaci podsumowania zdobytych punktów w wybranym przedziale czasowym przez każdego członka drużyny

Zakres obowiązków

contributions

Jan Feręc

  1. Pokrycie kodu:

  2. Zrealizowane funkcjonalności:

    • konfiguracja Kubernetesa oraz Dockerhuba
    • konfiguracja oraz modyfikacje Jenkinsa
    • wartstwa serwisów (Spring)
      • serwisy oraz kontrolery dotyczące użytkowników (User service)
      • serwisy oraz kontrolery dotyczące tras oraz statystyk (Route service)
    • wartstwa dostępu do danych:
      • implementacja obsługi niestandardowych pól (Postgis)
  3. Github
    i. Commity: 142
    ii. Linie kodu: 13929

Tomasz Macutkiewicz

  1. Pokrycie kodu:
  2. Zrealizowane funkcjonalności:
  • Integracja z Kafka (Kafka service)
    • konsument
    • producent
  • Konfiguracja Jenkinsa, Nexusa
  • Konfiguracja bazy danych Postgres
  • Generacja DDL w pgModeler
  1. Github
    i. Commity: 44
    ii. Linie kodu: 347

Mateusz Palmowski

  1. Pokrycie kodu: 30.79%
  2. Zrealizowane funkcjonalności:
    i. Front-end
    • konfiguracja i instalacja Angular 7
    • komplet komponentów (m. in. do logowania, rejestracji, uploadu i wyświetlania tras, obsługi mapy, obsługi zespołów, wyświetlania statystyk)
    • serwisy do łączenia z RESTem
    • kompletny interfejs użytkownika
  3. Github
    i. Commity: 30
    ii. Linie kodu: 15649

Michał Wiśniewski

  1. Pokrycie kodu:
  2. Zrealizowane funkcjonalności:
    i. DevOps:
    • konfiguracja Jenkinsa + blueocean
    • konfiguracja Sonarqube i Jacoco

ii. Warstwa dostępu do danych:
* Generacja DAO oraz POJOs w JOOQ

iii. Warstwa serwisów:
* Implementacja kontrolerów oraz serwisów dotyczących przynależności do drużyn (Membership service) oraz samych drużyn (Team Service).

  1. Github
    i. Commity: 30
    ii. Linie kodu: 864

Instrukcja uruchomienia projektu

Maven

Aplikacja może zostać zbudowana za pomocą mavena z odpowiediednim pom.xml, który uruchomi osobne budowanie dla obydwu modułów (backendu oraz frontendu):

git clone https://github.com/pik-ride2work/Ride2Work.git

cd Ride2Work/

mvn clean install

Przed wywołaniem komendy należy pamiętać o dostarczeniu odpowiednich plików properities z hasłem do bazy danych oraz konfiguracją kafki.

Docker hub:

Aplikacja może zostać uruchomiona na Dockerze/Kubernetesie z wykorzystaniem udostępnionego obrazu na stronie: Link.

Załączniki