Dla administratorów budynków, którzy pragną optymalizować koszty zarządzania budynkami nasza aplikacja Building Info umożliwi pozyskanie informacji o parametrach budynku na poziomie pomieszczeń, kondygnacji oraz całych budynków. Aplikacja będzie dostępna poprzez GUI a także jako zdalne API dzięki czemu można ją zintegrować z istniejącymi narzędziami.
Aplikacja REST'owa napisana w Javie - wymaga pobranego JDK (wersja 1.7 - 1.8).
Posiadając pobranego Maven'a na swojej maszynie, poprzez wiersz poleceń:
mvn spring-boot:run
Po skutecznym uruchomieniu w przeglądarke łączymy się z localhost.
http://localhost:8080/nazwa-operacji
Każdą operacje dotyczącą jednego obiektu należy zakończyć ID oczekiwanego obiektu. Operacje zwracające listę pokoi o polach przekraczających pewien próg wymagają dodatkowo podania progu, który należy przekroczyć.
Dostępne operacje:
- building - Wyświetla informacje o wszystkich elementach,
- GUI/ - Otwiera GUI które pozwala na wprowadzanie nowych budynków do systemu
- GUI/new/ - Dodaje nowy budynek zgodnie z danymi w formacie JSON
- getRoomArea - Wyświetla powierzchnię pokoju,
- getLevelArea - Wyświetla powierzchnię poziomu,
- getBuildingArea - Wyświetla powierzchnię budynku,
- getRoomCube - Wyświetla kubaturę pokoju,
- getLevelCube - Wyświetla kubaturę poziomu,
- getBuildingCube - Wyświetla kubaturę budynku,
- getRoomPowerPerSquare - Oblicza i wyświetla średnią moc oświetlenia na metr kwadratowy w pokoju,
- getLevelPowerPerSquare - Oblicza i wyświetla średnią moc oświetlenia na metr kwadratowy na poziomie,
- getBuildingPowerPerSquare - Oblicza i wyświetla średnią moc oświetlenia na metr kwadratowy w budynku,
- getRoomHeatingPerCube - Oblicza i wyświetla średnie zużycie energii na ogrzewanie na metr sześcienny w pokoju,
- getLevelHeatingPerCube - Oblicza i wyświetla średnie zużycie energii na ogrzewanie na metr sześcienny na poziomie,
- getBuildingHeatingPerCube - Oblicza i wyświetla średnie zużycie energii na ogrzewanie na metr sześcienny w budynku,
- getRoomRent - Oblicza i wyświetla cenę wynajmu pomieszczenia,
- getLevelRent - Oblicza i wyświetla cenę wynajmu całego poziomu,
- getBuildingRent - Oblicza i wyświetla cenę wynajmu całego budynku,
- buildingRentOverThreshold - zwraca listę pokoi w budynku, których czynsz jest wyższy od podanego progu,
- buildingPowerOverThreshold - zwraca listę pokoi w budynku, których zużycie energii na metr kwadratowy jest wyższe od podanego progu,
- buildingHeatingOverThreshold - zwraca listę pokoi w budynku, których zużycie energii cieplnej na metr sześcienny jest wyższe od podanego progu.
Przyklady:
Wyświetlenie kubatury budynku o wybranym ID:
http://localhost:8080/buildingCube?id=0
Wyświetlenie Danych całego budynku o wybranym ID:
http://localhost:8080/building?id=12
Z wiersza poleceń:
mvn compile
Z wiersza poleceń:
mvn package
Z wiersza poleceń:
mvn install
Z wiersza poleceń:
mvn javadoc:javadoc
Z wiersza poleceń:
mvn test
Z wiersza poleceń:
mvn jmeter:jmeter
Z wiersza poleceń:
mvn clean verify
- Lokacja Location to budynek, poziom, lub pomieszczenie
- Budynek Building może składać się z poziomów a te z pomieszczeń
- Każda lokalizacja jest charakteryzowana przez:
- id – unikalny identyfikator
- name – opcjonalna nazwa lokalizacji
- Pomieszczenie Room dodatkowo jest charakteryzowane przez:
- area - powierzchnia w m^2
- cube - kubatura pomieszczenia w m^3
- heating - poziom zużycia energii ogrzewania (float)
- lightPower – łączna moc oświetlenia
- rent - cena wynajmu
- Struktura budynku w JSON np {"levels":[{"rooms":[{"area":16.771454,"cube":86.15964,"heating":193.71202,"lightPower":172.36221,"rent":524.1692,"ID":35,"name":"Room"},{"area":35.63685,"cube":44.08831,"heating":74.20811,"lightPower":297.57465,"ID":36,"name":"Room"}],"ID":30,"name":"Level"}],"name":"Building"}
- Maven - Dependency Management
Obsługa i zarządzanie zadaniami w zespole - Trello
- Krzysztof Pasiewicz - Nebizar
- Angelika Szyszka - Angelika444
- Kamil Jędrzejczak - aieozn
- Mikołaj Frankowski - RolandMcDoland
- Projekt wykonany w ramach przedmiotu Inżynieria Oprogramowania na Politechnice Poznańskiej,
- Prowadzący: dr. inż. Mirosław Ochodek