Inspiration
UBC can often get intimidating, especially for newcomers. We want to create an app that encourages people to go explore and socialize.
What it does
In many big cities around the world, it can be hard to fit social experiences into everyday life. This app aims to address that by allowing people to discover notes left by others. For example, I could leave a note at IKB on the map inviting others to join. Others using the app could see the invitation and join. Maybe you really enjoyed the latte at a coffee shop, and want to join a fellow friendly latte enjoyer creating a friendship that lasts a life time. Someone using the app could see the note you dropped and comment on your note if they’re interested. When the time comes, people gather to chat or watch the sunset together.
How we built it
We began brainstorming on Figma to understand the app’s purpose and key features. Next, we divided into two teams: one focused on the front-end, integrating Google Maps, and the other on the back-end and database. We used typescript with next.js, and the backend was done using Node.Js, Express, PostgreSQL and PostGIS. Once both teams completed their work, we merged the changes and set up a RESTful API.
Challenges we ran into
There are many challenges we had to overcome during the course of this challenge. For instance, there were some issues with the backend server initially where we used SQLite + SpatiaLite. However, we found that the documentation was lacking and that PostgreSQL with PostGIS was much more effective. Furthermore, making the frontend and backend compatible was also proven to be a challenge because the 2 groups worked independently for the most part.
Accomplishments that we're proud of
Many of our teammates had their first experience using many frameworks and technologies like TypeScript, Next.JS, React and working on a full stack application. Working with geospatial data in the backend was also particularly challenging as none of our group members had experience in that area.
What we learned
As a team we learned many new skills such as React, NodeJS, JavaScript, TypeScript, HTML, CSS and in particular as mentioned we spent a lot of time learning SQLite + SpatiaLite which was a great learning experience despite our decision to switch.
What's next for SoGeo
Our goal is to enhance the robustness of the code, as there are potential issues with certain inputs. We also plan to implement a password system using Firebase to better secure personal data. Additionally, we aim to scale the application for future growth increasing the speed and efficiency of the backend.
Built With
- docker
- nestjs
- nextjs
- postgresql
- react
- typeorm
- typescript
Log in or sign up for Devpost to join the conversation.