Inspiration

Seeing the Earthquake that hit the Turkey/Syria Border. We thought how slow information propagates to the loved ones of those affected. That's where we thought of designing a service that helps solve this issue.

What it does

The service allows a user to sign in with google auth, set a location and a phone number then get near-real-time notifications of active natural disaster events. The original idea was to allow a user to create a group and add other users to the group, that way you could notify your entire family in the event of a natural disaster near to where the person is.

How we built it

We built the frontend using React and Node.js, and the backend using Prisma, MySql, and TypeScript. We used React as it is a quick dynamic webpage builder with access to webtools such as Geolocation and Google Authentication.

Challenge we ran into

We ran into issues right out the gate with our authentication scheme, not working across subdomains (mainly due to a design oversight) in order to resolve this we employed nginx and hosted the api on a url on the same domain. So that we could set a cookie after the user authenticates with google, this allows the client side app to be able to query our API.

Another issue we ran into was the actual hosting of the service as a result of cloudflare, we'd end up in an infinite redirect loop due to our nginx config upgrading HTTP requests and cloudflare redirecting it back to an http url. We resolve this by using the FULL(Strict) option on cloudflare's SSL/TLS settings.

What we learned

We learned how to use JWT's effectively in a Client Side rendered application. How to use passport.js with express to create a solid authentication scheme. Got more familiar with react and learned a couple new ways of achieving stuff within the browser (e.g getting geographic location). Also how to effectively manage time and divvy up tasks to create an effective work load, and communicate issues to one another to solve issues more effectively.

Accomplishments that we're proud of

We are quite proud of our use of Google Authentication to log users in, not only that but also linking Twilio to send alerts was pretty cool. We used JWT for accessing user data. We also used Domains.com to get our domain name (tysm domains.com).

What's next for Checkedon.tech

We'd like to see where we can take this and implement the group system we envisioned but ran out of time to implement.

Share this project:

Updates