Dream Team present Swim Wild

Dive into the wild

Swim Wild is a social platform for the emerging trend of wild swimming.

It provides a blend of user generated, and web scraped content to inform users about nearby swimming spots, the spot's features and safety consideration.

Users can share their swimming experience with others to view statistics about their swimming history and learn more about their favorite sports via our API network and analysis of user content.

Swim Wild Demo Video

Swim Wild Demo Video

Dream Team

 Hector ObananaPreview:  Hector Obanana

Hector Obanana

Peter Akin-NibosunPreview: Peter Akin-Nibosun

Peter Akin-Nibosun

 Serg MortikovPreview:  Serg Mortikov

Serg Mortikov

Jake JonesPreview: Jake Jones

Jake Jones

Kristina AltuninaPreview: Kristina Altunina

Kristina Altunina

Laura PattersonPreview: Laura Patterson

Laura Patterson

Tech Stack

We used Node.js, MongoDB, Firebase Authentication, Jest, Supertest, Express, Google Maps, Redux, Expo, React Native.

We chose MongoDb as we wanted the flexibility from using a non-relational database. Allowed us to more easily make changes to the structure of our database, as we were building our app and requirements changed.
We decided to use react native for our app to explore a new tech and went for expo go since this will be our first time using react native and with the limited time we have, we would benefit with the quick start advantage of Expo as well as its over-the-air updates where we can immediately deploy updates to our app while building and because it has some pre-built libraries that we needed for out app like the image-picker to handle images being uploading in our app.
Then we used firebase authentication for user authentication when singing in or registering and firebase cloud storage for storing the images from the app, but the URL of the images are stored in our MongoDB database.
We also used the redux library in our app to help us manage the logged in/logged out state of the user, as well as store some information that is need in some of our components.
One of the features of our app is displaying a map, where we used the google geocoding API to handle the data to display in our map.

One challenge was the tight deadline – we wanted to incorporate a lot of features into the app. We prioritised to have the essential features first and if we had more time, we would have added other features.

Tech StackPreview: Tech Stack