Week 4: Setting up the backend infrastructure

February 28, 2025

Thoughts of the week

This week I started to set up the backend infrastructure for the project. I have designed the database schema, mapping all the necessary tables including beacons, stations, workouts, and user tracking. However, I am at a crossroads regarding which database technologies best suit my needs. I am torn between options like PostgreSQL and MySQL or a NoSQL solution like MongoDB. I said in my last post that I wanted to use MongoDB, which is a very nice option, but working within its “Free Tier” limits might be a constraint. Each has its advantages for storing the data that will be used, such as RSSI signal data from the beacons that will be used to determine proximity and guide the users to the appropriate workout station. MongoDB is more flexible in evolving workout content, while the SQL databases offer a more robust transaction support for tracking user progress.

Database Schema Design

Useful Information

Next Steps

Implementing MongoDB...

I will keep using MongoDB to keep the ball moving as I have worked with it on other projects. MongoDB will be the best choice for this project, as it is more flexible and can evolve with the project. The next challenging step will be calling the API from the iOS app. Starting with a simple log of the beacons RSSI data will be the first thing I do.