Noxmap
Narzędzie do organizacji gier miejskich, terenowych, targowych oraz wydarzeń bazujących na lokalizacji i interakcji z uczestnikami

Opis projektu

Aplikacja webowa i mobilna to kompleksowe narzędzie ułatwiające przeprowadzanie i uczestnictwo w wydarzeniach takich jak gry terenowe, gry miejskie, konwenty. Uczestnicy dzięki mapie mogą poruszać się do wyznaczonych punktów i podejmować interakcję z punktem, np. udzielając odpowiedzi na pytanie i zapisując je do karty odpowiedzi. Aplikacja ma zastosowanie przy organizacji wydarzeń czasowych (np. imprez masowych) oraz wydarzeń stałych (np. ścieżki edukacyjnej na świeżym powietrzu). Zapewnia ona skrócenie czasu spędzonego przy organizacji poprzez łatwą konfigurację wydarzenia, utworzenie spersonalizowanych kwestionariuszy uczestników, automatyczną rejestracją uczestników oraz generowanie raportów końcowych. Ważnym aspektem aplikacji są funkcjonalności związane z bezpieczeństwem uczestników takie jak system wzywania o pomoc poprzez aplikację, obserwowanie przez organizatora aktualnej lokalizacji uczestników czy powiadomienie o wyjściu danego uczestnika poza obszar wydarzenia.

Prezentacja


Strona aplikacji: https://noxmap.com
Rejestracja na zamknięte testy aplikacji w sklepie Google Play: https://noxmap.com/Test/WMiI

Skład zespołu

Damian Kurpiewski
opiekun zespołu, IPI PAN
Patryk Kisielewski
kierownik zespołu,
programista backend
Mateusz Kamiński
sekretarz zespołu,
programista aplikacji webowej
Tomasz Derek
programista aplikacji mobilnej
Adrian Licnerski
programista aplikacji mobilnej
Tomasz Rahn
programista aplikacji mobilnej
Jakub Studziński
programista backend

Spotkania zespołu

  • 08.11.2019 - Spotkanie organizacyjne, ustalenie pomysłu na projekt.
  • 12.11.2019 - Omówienie i ustalenie priorytetów możliwych funkcjonalności aplikacji, przegląd dostępnych technologii, zbadanie rynku i omówienie opisu aplikacji.
  • 19.11.2019 - Omówienie projektu strony internetowej, kompatybilności AR, funkcjonalności ASP.NET Core, przegląd podobnych aplikacji, podział obowiązków.
  • 26.11.2019 - Omówienie user story i funkcjonalności Azure, przegląd wireframe.
  • 03.12.2019 - Omówienie pracy nad wireframe aplikacji, user story i Xamarin z AR.
  • 10.12.2019 - Zakończenie pracy nad user story - szczegółowe zapoznanie się z nim.
  • 17.12.2019 - Zakończenie pracy nad wireframe strony internetowej i aplikacji mobilnej, wybranie technologii.
  • 07.01.2020 - Omówienie modelu bazy danych i rozplanowanie kodu.
  • 15.01.2020 - Prezentacja postępu prac nad aplikacją webową oraz mobilną i przydział do realizacji kolejnych zadań. Przedstawienie pomysłu na model płatności w aplikacji.
  • 21.01.2020 - Omówienie ostatecznego modelu płatności (subskrypcji). Przegląd postępu prac i rozwiązanie problemów napotkanych podczas pracy nad zadaniami.
  • 12.02.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 19.02.2020 - Omówienie bazy danych aplikacji mobilnej, komunikacji z serwerem i implementacji kont użytkowników w serwerze.
  • 04.03.2020 - Przedyskutowanie poprawek modeli bez danych, omówienie API użytkowników na serwerze, uzgodnienie komunikacji.
  • 10.03.2020 - Planowanie pracy nad stroną główną i formularzami logowania.
  • 17.03.2020 - Omówienie dotychczasowych postępów w implementacji strony głównej i formularzy logowania i rejestracji i poprawki błędów.
  • 21.03.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 24.03.2020 - Zakończenie prac nad stroną główną i formularzami logowania i rejestracji. Planowanie pracy nad interfejsem nawigacji po aplikacji.
  • 28.03.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 31.03.2020 - Omówienie i poprawki interfejsu nawigacji po aplikacji.
  • 04.04.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 07.04.2020 - Zakończenie prac nad interfejsem nawigacji po aplikacji. Planowanie pracy nad interfejsem tworzenia wydarzenia.
  • 15.04.2020 - Omówienie i poprawki interfejsu tworzenia wydarzenia, planowanie dodania kolejnych funkcjonalności do interfejsu.
  • 18.04.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 21.04.2020 - Omówienie i poprawki interfejsu tworzenia wydarzenia, planowanie dodania kolejnych funkcjonalności do interfejsu.
  • 25.04.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 28.04.2020 - Omówienie i poprawki strony tworzenia wydarzenia, zakończenie prac nad tworzeniem wydarzenia. Planowanie dodania możliwości obserwacji wydarzeń.
  • 02.05.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 05.05.2020 - Omówienie i poprawki strony obserwowania wydarzenia, planowanie kolejnych funkcji, omówienie poprawek bazy danych.
  • 09.05.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 12.05.2020 - Omówienie i poprawki strony obserwowania wydarzenia, planowanie dodania kolejnych funkcji.
  • 16.05.2020 - Omówienie dotychczasowych postępów w implementacji i planowanie kolejnych działań.
  • 19.05.2020 - Zakończenie prac nad ekranem obserwowania wydarzenia. Zakończenie pracy nad aplikacją webową. Dyskusja na temat dodania aplikacji mobilnej do Google Play w celu przeprowadzenia testów alfa.
  • 23.05.2020 - Omówienie dotychczasowych postępów w implementacji, znalezionych błędów i planowanie kolejnych działań.
  • 26.05.2020 - Zakończenie prac implementacyjnych aplikacji mobilnej. Skompletowanie dokumentacji. Dyskusja na temat ulotek, prezentacji.
  • 30.05.2020 - Dyskusja na temat wykonanych poprawek i nowych pomysłów dotyczących materiałów do prezentacji, filmu konkursowego, ulotek.

Dodatkowe informacje

Praca w zespole

Jako główne medium komunikacji tekstowej, głosowej i wideokonferencji korzystamy z aplikacji Discord. Do podziału zadań oraz ich przepływu korzystamy z tablic Kanban w aplikacji Trello. Spotykaliśmy się regularnie stancjonarnie oraz zdalnie, a w czasie pandemii odbywaliśmy regularne zdalne spotkania.

Wykorzystywane narzędzia

Do pracy nad kodem naszej aplikacji korzystamy ze środowiska programistycznego Visual Studio z rozszerzeniem ReSharper. Kod aplikacji jest umieszczony na serwerze w repozytorium kontroli wersji Git wraz ze wspomagającym serwisem internetowym Gogs. Do tworzenia dokumentacji wykorzystujemy aplikacje Swagger, Redoc, DocFX, Oracle Data Modeler. Do testowania REST API wykorzystujemy aplikację Postman. Podczas rozwijania naszej aplikacji korzystamy z baz danych Microsoft SQL Server, Microsoft Azure SQL, MySQL, SQLite. Do hostowania aplikacji wykorzystujemy usługę chmurową Microsoft Azure App Service.

Użyte technologie

ASP.NET Core, Blazor WebAssembly, SignalR, HTML, CSS, JavaScript, Bootsrap, jQuery, Leaflet z mapami OpenStreetMap, Entity Framework Core, EPPlus, wkhtmltopdf, Xamarin.Forms, Mapsui, Mvvm