or how I ended building a web app…
I studied Economics and a masters in Economic History, during the last 5 years I worked as a TA in a university in South America, going slowly but it seemed like it could be a life career though. At some point I got tired of not doing practical and ‘useful’ things, so a few months ago, in the middle of the Covid pandemic and at my 35’s, I decided to start a new challenge in my life: to study programming because I am a globetrotter and I wanted a job that let me keep on being one.
I went to a programming school for 9 months and now, once this is over, I am starting to see myself as a software developer who, even though has not a clear idea of what to do next, is exploring how tech industry works and applying to jobs. The period I spent studying programming (and working at the same time) has been one of the most difficult I experienced, I spent half of the program wondering what I was doing there, not having a clue of anything I was learning, feeling that programming was too much for me. Then the final project came trough and the pieces came together.
I worked along with 2 other guys from the school. Pedro, a guy more similar to me, an Economist, an actor and a software developer, the mathematician of the group. Matias, could be seen as the Software engineer of the team, passionate about back-end and blockchain, a really smart guy who was the architect of the project.
After brainstorming about what to do (we even included making a cripto coin) We decided to design a web app -TuReserva- where people like you and me will be able to find what we need, when we need it (this is our logo). It is for users and for providers -we call them partners-. A user will be able to book all kinds of services from different providers. It is also useful for suppliers, they will have a site to offer services, according to their schedules and prices.
But why this idea? Think for a moment: when you need a service, such us: an electrician, computer technician, hairdresser, English teacher or whatever you think it s a service, where do you look for it? Perhaps you ask for help to your closest people, or in whatsapp groups, or you look for ads in a bus stop, or you even use the flyer somebody gave you on the streets (this is pretty common in Latin America). In any case, this is not easy, it could be messy, stressful, could take a lot of time and so on (see the image below), specially because when you are looking for a service you are looking for reliability. And there is not a single place where to find it.
So, TuReserva appeared with the idea of making life a little easier. We wanted that on this site everyone could interact effectively, getting what they need and making this a place where reliability can be guaranteed. Beautiful, huh?
Now let’s see how TuReserva works.
In the home page you can see the typical login and sign up functionalities one can use by clicking on them. In order to book services, having an account is necessary, for this you have to fill a form with your information, after that, you will receive a notification confirming your subscription to your inbox.
The home page has a set of different categories of services offered. Once choosing a category, different vendors will be shown with their descriptions. When selecting a supplier the services she offers and her reviews are displayed, then it is possible to select the service/s and press in the reserve button. A form with available dates and hours will appear. Finally, it is possible book the services needs. After this, an email will be sent to the user and to the partner with the reservation info.
A user can join us by clicking on the “become a partner” button, there one ca fill the information requested, this form, as well as every form- has controls to check the correct information is entered, on it is possible to choose the category, after, another form to upload services and some pictures will appear, when done, an email confirming the subscription will be send. In the future, each partner will have a reservation management, as well as a wallet where they will receive payments.
At this point, maybe you would be wondering how these nerds build that?
In the Frontend we used React, which takes care of all the visuals and user experience, as well as the route management, this was developed using functional components and hooks. For the styles we used Bootstrap and Css. To connect the frontend with the backend through the API We use Fetch to send the http requests. In the backend we develop a Restful API in python using the flask framework, which is in charge of connecting with the database and managing the data.
We made the decision to not to use an ORM TO REDUCE COMPLEXITY. We created a class that encapsulates the logic of connecting with the database and executing the sentences using the mysqldb module, which allowed us to use SQL statements and connect with the mysql database using tables in the third form, this means, in order to connect tables we used IDs (see image bellow only if people call you nerd).
We take several lessons from this project:
As a team we experienced good and also a lot of difficult situations (issue for a new post). What we consider more valuable is that we handled each one and were successful in solving them. We also improve the ability to focus a project making not so many functionalities, to meet the MVP and we learned time management.And, of course, we solved several contingencies, both technical and non technical. Today, we are proud of our work. What do you think? Would you like to book with us?