Inspiration
With the COVID pandemic, many governments all around the world decided to lockdown their societies in order to massively reduce potential contacts between people.
- Local businesses and institutions are suffering from that analog close. We quickly realized there must be digital solutions to relieve these places. Since re-opening stores and other areas of interest is extremely important for the providers, nonetheless risky in terms of epidemic propagation, we are seeking to solve this conflict. Offering the chance to spread customers' access to these places and safe waiting opportunities was the biggest inspiration for the project.
- People are staying at home and having no chance to follow their human needs. We see closed playgrounds, closed libraries, churches without service. The mental/psychological impacts to the society due to these closings are tough to predict, but socio-economists and psychologists are warning that adverse effects grow as time goes by.
What it does
The functionality design is an easy-to-use approach as we want to reach as many people as possible. So, providers of places with access restrictions register their areas (including a few essential data) to the system and get a link to their automatically created appointment options. They can spread the link via their websites, QR codes, etc. Customers/visitors can directly and anonymously book an available date on that page and simply get in. We put stress to privacy aspects, a consideration that mostly is not done. For that, we created a smart system based on well-implemented client-side technologies. A lot of handy functionalities are planned for the future.
How we built it
We built it completely from scratch, starting on Friday afternoon:
- considering the basic use cases
- analyzing the technical requirements for such a system, considering a potentially high demand, therefore, great scalability
- defining and setting up the technical infrastructure, both local (dev & test) and remote (prod & dev).
- choosing the right set of tools to be used, both for communication and development, and then, the working methodology
- designing the application logic considering best practices in software engineering related to Agile development
- defining, optimizing and deploying a proper data model
- designing a user-friendly front end considering best practices in user experience and accessibility
- developing and implementing the different modules, minimizing coupling, and maximizing cohesion, towards a proper microservices-based architecture
- defining and implementing unit tests for the related functions, and continuous integration in our home-setted code repository (Dockerized GitLab Community Edition)
Challenges we ran into
While developing, things that first seemed to be so easy got challenging. You realize about the need for functions in different places where you never considered them before.
Accomplishments that we are proud of
We built the whole system from scratch without any external libraries, completely independent. With our microservices-based architecture, it is possible to scale up or down the system dynamically, adapting it to changing workload demands.
What we learned
Thanks to our fantastic mentor, we got inspired for further business use cases that we did not consider before, although they are so simple and compatible with our system. Thank you!
What's next for WaitSafe
High priority: Enhance the prototype to the next stage, do exhaustive UX tests, open it to the world. Medium priority: Add functionality to monetarize the system (added-value accounts, APIs, plugins and AI-based analytics)
Built With
- css3
- docker-ce
- gitlab-ce
- html5
- javascript
- mysql
- php7

Log in or sign up for Devpost to join the conversation.