Inspiration

We were inspired by the problem that many ships faced with having scurvy in the age of exploration, as such we wanted to create a program to help prioritize patient safety on the sea.

What it does

Essentially, our project keeps tracks of the vitals of crew members on a boat in order to ensure that patient safety is maximized.

How we built it

The backend is a RESTful API developed using PHP. The library from phprouter.com being used to route handling for each endpoint depending on HTTP method and path. The backend does not do much processing, it pretty much just acts as a way to perform CRUD operations on the database.

The database is a MySQL database running on Google Cloud SQL. The backend runs under a docker container with Apache on Google Cloud Run. Using Google Cloud Build and an integration with our GitHub repo, this container is automatically built and deployed when pushes are made to the main branch. Google Cloud Run allows connecting to a Google Cloud SQL database via a UNIX socket.

The frontend is hosted on Firebase. Similar to the backend, pushes to main will automatically trigger a Google Cloud Build. This will automatically build the react application and deploy it to Firebase. Our react application is utilizing typescript.

We have a custom domain, cr3wm8te.biz. This is linked to Firebase for the front end. For the backend, api.cr3wm8te.biz is being used with Google Cloud's Application Load Balancer.

Challenges we ran into

The main issue was with environment setup, which heavily held us back timeline wise in developing. We did pick up immensely near the end with developing the frontend, but we were relatively slow as most of the team was focused on developing the backend. When the backend was complete, we then moved on to developing the frontend. We did not fully complete it to our desired functionality, but we do believe that it is at a point which can be built upon.

Accomplishments that we're proud of

We are very proud of how we named our files and the github repo, we thought it would be funny if we were to stick to the nautical theme in places as small as the file structure and the readmes. This took place in the form of naming things after boats, pirate things, and other oceanic things, we also did pirate speak. Even some of our commit messages are in pirate speak mattie.

What we learned

We learned a lot more about the process of building a full-stack application. We all feel a lot more knowledgeable in the setups of projects itself.

What's next for CR3WM8

As for CR3WM8, we will likely not develop further. But if there is enough interest, we may consider continuing development.

Share this project:

Updates