Inspiration

When we think of the sea, we often think of shiny sand beaches, blue waves under bright sunlight, and people who enjoy themselves. Especially, the summer beach reminds us of its unique coolness and warmth at the same time. However, what we're missing a lot behind this incredible view and bright atmosphere is safety. The number of annual beachside accidents is not negligible. Therefore, we came up with an app that focuses on the "safety" side of the beach that we must keep in mind but is often hindered by the exciting and joyful image.

What it does

This app gives a chance to both lifeguards and visitors to be aware of any possible accidents on a beach. Lifeguards can upload news about any dangers on a beach and communicate with visitors to help them. We've integrated the functionality to let only people who show authentic certifications. On the other hand, visitors can also use chat services with lifeguards to ask for help. Then, they can leave or skip "recommendation thumbs-up" for any lifeguards who helped them. The number of likes will be accumulated and be found on lifeguards' profiles (not public), which may be used for incentives.

How we built it

We used React Native with other libraries (FontAwesome, React Navigation, etc.) to build both iOS and Android applications. For IDE, we all used Visual Studio Code.

Challenges we ran into

We first struggled with installing expo on our laptops. Moreover, although the functions in React Native were similar to the HTML and CSS formats, some syntaxes and implementing methods were quite different and incompatible, which took us a while to adapt. Also, as some of our members were unfamiliar with using GitHub, sharing the code through the git was a bit challenging.

Accomplishments that we're proud of

Even though it is our first time learning and applying React Native, we were all quickly able to write some codes to make great features in our app.

What we learned

As React Native provides a range of tools and functions to develop web/mobile apps, we used the functions such as keyboards, calendars, and touchable buttons to establish the platform. We also learned how to connect the components together using javascript and store and transmit data between different components. Aside from the coding part, we also learned the importance of teamwork and collaboration. Particularly, we learned how to distribute the roles to produce the most effective results as a team in a short time.

What's next for UofT Gamzas

As a next step, we need to learn how to integrate the backend side of our mobile app, especially MongoDB and Express.js, to have more flexible data flowing in this app.

Share this project:

Updates