Autic Parkić is a web app that is managing rides elapsed time in real time. It is used by parents to track their children's rides and by the park staff to manage the rides and vehicles via Dashboard panel. Main challenge for this project was choosing the right protocol for the client-server communication when it comes to streaming elapsed time. The server calculated the elapsed time and streamed it to all clients in real time, ensuring that all clients were fully synchronized. To solve this problem WebSockets protocol was used. Some of alternative solutions were SSE and HTTP polling. Server sent events (SSE) didn't fit the requirements because it is unidirectional communication and it is not possible to send data from client to server and that was crucial for updating the Ride's statuses in real time. HTTP polling was not a good solution because it is not real time and it is not scalable. The app is deployed on AWS Elastic Beanstalk and it is using Cloudflare for DNS and CDN. If you want to know more about this project please take a look at Autić Parkić Software Design Document.
- Website (temporarily offline)https://auticparkic.bogdanjovanovic.dev/
- PlatformWeb
- StackJava Spring Boot, React, AWS, Cloudflare
- GitHubauticparkic-monorepo