2. Users should not be able to collect points for driving a car so we monitor the time periods in which they reach the next checking points and react when that happens too soon.
In software development there are no one-fit-all solutions, each time we need to choose the best solution for the particular project. Beat the Street app is highly used, and must be able to handle thousands of users at once, providing them with a smooth user experience while keeping the operational costs of infrastructure at a reasonable level. Therefore, we designed the infrastructure in a way that reflects their business objectives and expectations, focusing primarily on flawlessness and scalability, but keeping the costs at the lowest level possible.
When we were starting the cooperation, we agreed to focus on the development speed so we decided to use AWS Amplify. However, when they were defining additional needs, we realised that this technology was limiting. Therefore, we moved away from using Amplify for hosting the backend and, instead, crafted our own configuration in AWS CDK. Additionally, we revamped the database structure to enhance speed and scalability, a shift that was necessary for efficient data retrieval. We set it up in a custom way based on the solution we developed ourselves to address the needs of the project. That allows us vast opportunities for optimisation, data analysis and aggregations.