Projekty

Cześć!
Poznaj kilka z moich projektów!

Poniżej wybrałem kilka swoich projektów, które tworzyłem na przestrzeni ostatnich lat. Jedne były projektami na zaliczenie, inne zostały zrodzone z pasji lub chęci wykorzystania konkretnego rozwiązania / technologii. 

Uniwersalny szkielet aplikacji webowej

Projekt ma na celu ułatwić tworzenie zaawansowanych projektów, skrócić czas ich tworzenia, ograniczyć koszty, a przede wszystkim zwiększyć bezpieczeństwo tworzonego kodu poprzez wykorzystanie atrybutów języka Scala oraz narzędzia Scala.js. 

Stworzony projekt został opublikowany na oficjalnej stronie scala-js.org.

Projekt został stworzony w architekturze: serwer, dwóch klientów, część dzielona pomiędzy klientami oraz część dzielona pomiędzy klientem a serwerem. Aplikacja posiada autoryzację użytkowników, hash’owanie haseł, mierzenie siły hasła, obsługę błędów czy router. Dodatkowo jest w całości responsywna i umieszczona w kontenerach docker. To ułatwia przenoszenie projektu i umożliwia jej uruchomienia na każdym środowisku. 

Repozytorium

W chwili powstania aplikacji wspomniały o niej lokalne media, mówiono w kilku stacjach radiowych. Wizualizacja została również użyta jako tło w telewizji śniadaniowej podczas reportażu o astronomii.

Projekt prezentowany był również na forum międzynarodowym. Wyświetlany był podczas Konferencji Web3D w Brisbane(Australia) i w Singapurze. Służył również jako inspiracja podczas Hackatonu VR w Singapurze.

Zobacz projekt

MilkyWay 3D

MilkyWay 3D to interaktywną mapa 3D galaktyki. Celem projektu było zainteresowanie użytkownika astronomią, zobrazowania wszechświata w jak najbardziej realistycznej odsłonie, przekazania podstawowej wiedzy z astronomii oraz dostarczenie modelu galaktyki do swobodnego eksplorowania. Istnieje również możliwość uruchomienia projektu w trybie VR (cardboard)

Projekt MilkyWay 3D ma możliwie jak najbardziej oddawać znaną nam (na dzień tworzenia projektu) rzeczywistość z jednoczesnym zawarciem walorów edukacyjnych. Projekt zawiera 119618 gwiazd, wszystkie dane pochodzą z bazy HYG (Hipparcos/Yale/Gliese).

Wszystkie gwiazdy, znajdujące się w projekcie znajdują się dokładnie na swojej pozycji. Odległości gwiazd od słońca oraz od siebie nawzajem odzwierciedlają rzeczywistość. Kolor gwiazd jest ich faktycznym wskaźnikiem barwy (B-V) zamienionym na RGB. Konstelacje składają się oraz zawierają gwiazdy wchodzące w ich skład (nie są to przypadkowo połączone linie)

Projekt wyświetlany w Singapurze na wyświetlaczu 15m x 2m

Wizualizacja i narzędzia dla projektu NA61/Shine - CERN

W ramach projektu badawczego stworzyłem narzędzie do wizualizacji efektu zderzeń ciężkich jonów w zakresie energii 13 – 158 GeV na nukleon. NA61/Shine to eksperyment, który korzysta z akceleratora SPS w laboratorium CERN (Europejska Organizacja Badań Jądrowych).

Poza samą wizualizacją dostępne są takie narzędzia jak wybór i interpretacja poszczególnych zderzeń. Między innymi jest to dopasowanie i wyświetlenie depozytu energii.

Duża część projektu opierała się na stworzeniu narzędzi, skryptów i programów do uzyskiwania danych, które później były wyświetlane. 

Projekt zyskał uznanie a jego wizualizacje używane są podczas konferencji naukowych. O projekcie pisał między innymi CERN na swoich oficjalnych profilach oraz niektóre zagraniczne media.

Zobacz projekt

Wizualizacja doczekała się również wersji desktopowej. Z Użyciem UnrealEngine przenieśliśmy wizualizację na gogle Oculus Rift. Komputer z programem znajduje się na terenie CERN’u.

Aplikacja posiada znaczne ilości nieopisanych funkcji, a możliwości jeszcze więcej 🙂 

Roomie - Asystent w hotelu

Roomie został stworzony jako aplikacja z pasji. Jest to pomocnik gości hotelowych, który służy pomocą od zameldowania aż do opuszczenia pokoju. Roomie zapewnia ciągły kontakt gościa z recepcją i wzajemnie. 

Użytkownik aplikacji (gość) może za jej pośrednictwem zamówić taksówkę, sprawdzić rozkład komunikacji miejskiej w mieście, w którym znajduje się hotel, wynająć samochód itp. Gdyby gość hotelowy nie znał miasta – pomocą służy przewodnik z trasami i mapami miasta. W razie niebezpiecznego zdarzenia wystarczy jeden przycisk w aplikacji a obsługa hotelu zostaje poinformowana o zagrożeniu. Do recepcji zostaje wysłana lokalizacja telefonu gościa, numer telefonu oraz jego dane – tak by mogli podjąć właściwe działania. 

Dla recepcjonistów jest to również wygoda. Wszystkie prośby gości o ręczniki, napoje czy usługę sprzątania zapisane są w jednym miejscu razem z informacjami na kiedy gość życzy sobie dane zamówienie czy usługę. Recepcjonista może wysłać powiadomienie do każdego z gości lub do jednego – wybranego (np. Twoja taksówka już czeka!)

Inne projekty

Poza zaprezentowanymi powyżej rozwiązaniami stworzyłem również dużo innych, mniejszych i większych projektów. Część z nich to były projekty studenckie na zaliczenie. Inne były napisane z czystej ciekawości. Czasami motywacją była chęć poznania technologii – innym razem zwyczajna nuda.

fewProjects-min
ShoppedOUT, Speedway App oraz Gamma WebMonitor
Spring-mass system - symulacja w czasie rzeczywistym z wykorzystaniem autorskiej fasady Three.js dla Scala.js. Na ruch flagi wpływa wiele czynników w tym np. regulowana prędkość wiatru czy grawitacja

Ciekawymi (moim skromnym zdaniem) projektami były również:

  • ShoppedOUT – Aplikacja dla małych sklepów oraz magazynów. Obsługuje czytniki kodów kreskowych, zapamiętuje pozycję produktów w magazynie, posiada funkcję sprzedaży i dodawania towarów, uaktualnia stan bazy danych i więcej.
  • Speedway App – Aplikacja mobilna dla klubów żużlowych. Posiada statystyki, posty pobieranie z API strony drużyny czy prezentację zawodników. Dodatkowo posiada system powiadomień dla kibiców.
  • Gamma WebMonitor – Stworzony na autorskim szkielecie aplikacji mobilnej monitoring stron internetowych. Aplikacja umożliwia pobieranie zawartości wybranego selektora dowolnej strony i porównanie go z poprzednią analizą. Gamma WM korzysta również z narzędzi Selenium np. do pobierania podglądu strony (w przyszłości może i analizy graficznej?) 

Technologie, które poznałem na swojej drodze. Niektóre poznałem tylko trochę, inne służyły mi przez jakiś czas a jeszcze inne towarzyszą mi do dzisiaj.

Na górę