UrbanMeet
Wstęp
Nowoczesne platformy mediów społecznościowych polegają na utrzymywaniu oczu przyklejonych do ekranu, aby zwiększyć liczbę wyświetleń, polubień i czas oglądania. Będąc zaprojektowanymi, by łączyć nas ze światem zewnętrznym, zwykle tracimy kontakt z otaczającym nas światem. Miejsca publiczne zostały teraz w większości otwarte, aby pomieścić ich pierwotną pojemność. Gdy świat wraca do normalności, ludzie w każdym wieku będą chcieli spotkać się i cieszyć się świeżym powietrzem. Czy nie byłoby wygodnie znaleźć miejsca odpowiednie do organizacji wydarzeń, w których mogłoby uczestniczyć wiele osób w okolicy? Wejdź na UrbanMeet.
Problem
Większość platform do organizacji wydarzeń jest obecnie ukierunkowana na wydarzenia komercyjne, które są kierowane do dużej publiczności i większych obiektów. Zwykli ludzie często mają problem z wyświetlaniem prostych wydarzeń społecznościowych na tych większych platformach i prawdopodobnie gubią się w tych kategoriach.
Rozwiązanie
UrbanMeet to platforma, na której każdy może umieszczać ogłoszenia o organizowaniu wydarzeń w miejscach publicznych, takich jak parki, stadiony oraz ośrodki sportowe i społeczne. Użytkownicy mogą organizować i odkrywać wydarzenia w pobliżu: od sesji jogi w parku po lokalny turniej krykieta. Wydarzenia takie jak te są doskonałą okazją do zacieśniania więzi społecznych i wspólnej zabawy. W celu rozwiązania wszelkich problemów społecznych można również organizować wiece uświadamiające.
UrbanMeet ma być aplikacją, która może pomóc społeczności w organizowaniu i udostępnianiu wydarzeń. W ten sposób UrbanMeet zapewnia usprawniony sposób spotkań, planowania i brania udziału we wspólnych zabawach.
Jak to działa
Odwiedzając witrynę, wyświetlana jest rozległa mapa i przenoszona do bieżącej lokalizacji oraz pokazywane są wydarzenia w Twojej okolicy i mieście. Jeśli nie, możesz również skorzystać z naszego paska wyszukiwania, aby wyszukać inną lokalizację i poznać wydarzenia w innych miejscach.
Nasz panel wydarzeń umożliwia użytkownikom przeglądanie wydarzeń w pobliżu i wyświetlanie szczegółów wydarzenia, takich jak data jego zorganizowania, liczba oczekiwanych osób i dalsze informacje. Możesz także polubić wydarzenie i zapisać je na później. Znacznik wydarzenia na pasku można również kliknąć, aby przejść do jego lokalizacji.
Chcieliśmy, aby nasi użytkownicy mogli przeglądać intuicyjnie, dlatego sugerujemy miejsca publiczne w pobliżu, które nadają się do organizacji wydarzeń, zaznaczając je na mapie jako znaczniki. Po wybraniu lokalizacji możesz umieścić ogłoszenie o wydarzeniu, aby wszyscy inni mogli je zobaczyć.
Możesz kliknąć przycisk „Moje wydarzenia”, aby zobaczyć wszystkie utworzone przez siebie wydarzenia. Jeśli kiedykolwiek zmienisz zdanie na temat wydarzenia, możesz je edytować w dowolnej chwili, podając dowolne szczegóły. Lub usuń wydarzenie, jeśli tak zdecydujesz.
Pod maską
Nasza podróż zaczęła się od chęci zaprojektowania aplikacji do organizacji turnieju sportowego dla naszych przyjaciół i ludzi wokół nas. Aby uczynić ją łatwiejszą do znalezienia i dostępną dla osób szukających wydarzeń, pomyśleliśmy, że jeśli moglibyśmy użyć lokalizacji użytkowników, moglibyśmy lepiej sugerować wydarzenia wokół nich.
W tym celu zaczęliśmy szukać interfejsów API, które mogłyby podać nam lokalizację parków i stadionów wraz ze współrzędnymi. W naszych poszukiwaniach początkowo natknęliśmy się na OpenTripMap, który dostarczył nam dane o lokalizacji i pozwolił nam filtrować nasze zapytania do naszych potrzeb. Ponieważ odpowiadało to naszym bieżącym potrzebom, zaprojektowaliśmy schemat bazy danych do organizacji wydarzeń.
Aby zminimalizować przechowywanie danych, zdecydowaliśmy się po prostu odzwierciedlać dane o lokalizacji z zewnętrznego interfejsu API z naszego zaplecza. Zapisujemy nasze lokalizacje tylko wtedy, gdy użytkownik zdecyduje się utworzyć wydarzenie w danej lokalizacji.
Aby zapewnić naszym użytkownikom możliwość przeszukiwania ich lokalizacji, potrzebowaliśmy interfejsu API z wyszukiwaniem geokodującym w przód. Ponieważ nie byliśmy usatysfakcjonowani naszymi obecnymi potrzebami w zakresie interfejsu API, znaleźliśmy sprytny interfejs API autouzupełniania do wyszukiwania lokalizacji w LocationIQ, który znacznie uzupełniał pasek wyszukiwania autouzupełniania w naszym interfejsie użytkownika. W tym momencie przestawiliśmy się na korzystanie z LocationIQ, ponieważ zapewniało ono bogatsze opcje filtrowania. Nasza zmiana przebiegła płynnie, ponieważ oba interfejsy API opierają swoje dane o lokalizacji na danych OpenStreetMap typu open source, ponieważ indeksowaliśmy nasze lokalizacje według typów i identyfikatorów OSM.
Listonosz
Postman bardzo nam pomógł, umożliwiając nam przetestowanie punktów końcowych naszej aplikacji z różnymi parametrami zapytań i autoryzacją.
Większość naszych punktów końcowych GET jest otwarta i nie wymaga autoryzacji, na przykład nasze lokalizacje:
Aby przetestować nasz punkt końcowy wydarzeń, który może wyszukiwać według miasta lub współrzędnych:
Jesteśmy również w stanie przetestować, czy nasz uwierzytelniony i oparty na uprawnieniach punkt końcowy działał zgodnie z przeznaczeniem:
Wykonane przy użyciu
- Postman API — do testowania naszych punktów końcowych
- LocationIQ — do uzyskiwania danych geokodowania
- MapLibre — Do renderowania mapy w interfejsie użytkownika
- Django i Django Rest Framework — Dla naszego serwera
- ReactJS — dla naszej aplikacji frontendowej
- GitHub — do przechowywania naszego kodu i kontroli wersji
- Heroku — do hostowania naszej aplikacji
- PostgreSQL — dla naszej bazy danych
https://team19-submission.herokuapp.com/
Autorski
Vignesh Bhat
Kaushik Deka
Kiranbaskar Velmurugan