Team MangalitsapresentNearSphere

Near Sphere Demo Video
NearSphere - where you can find your new favourite spots near you! It is a user friendly app which allows you to search and favourite places nearby.
The idea for "NearSphere" stemmed from wanting users to be able to get recommendations for things to do in their local area, or an area they have travelled to. We wanted to highlight what is available nearby, as we can appreciate the challenge of searching for nearby activities/events and hidden gems when you are new to an area! We aimed to simplify the process by utilising Google Places to search for a location, setting a search radius within the local area, and passing keywords to match personal preferences. To enhance the user experience, we created a user profile where users can log in, and change their details safely - as well as being able to access their own personal favourites list.
The Team
Victor Boleac
Hollie Mount
Maria
Nesrin Kurt
Technologies

We used: Java 17 (or higher), Spring Boot (Web, Security, Data JPA), H2 Database (for development), Maven (build tool), JWT (JSON Web Token) for authentication, WebClient for external API calls (Google Places), Spring Mail for password reset emails, PostgreSQL. Android Architecture Components: ViewModel, LiveData Data Binding: For binding layouts directly to model classes. Retrofit & OkHttp: For RESTful API calls, logging, interceptors. Gson: JSON parsing. EncryptedSharedPreferences (in TokenStorage): Securely saves user tokens. Google Places API: Searching for or autocompleting places within the app.Android frontend app followed the MVVM architecture to ensure separation of concerns.
In our research, those were the best to do what we wanted within out time and budget constraints. Spring security is a complete solution for authentication and authorisation purposes. We used smtp email to verify password reset functionality. It was an easy, pluggable solution without external dependencies.
Challenges Faced
We faced challenges throughout the coding process, such as implementing new technologies we were not familiar with. However, through research, collaboration and perseverance we were able to solve these problems and we all learnt something new in the process!
Unfortunately, some team members were absent throughout parts of the project due to unexpected circumstances. This meant there was a push to meet MVP. We had to quickly change our approach to complete the remaining tasks - we demonstrated resilience and we worked effectively as a team to complete the project.