Changing pets’ lives with a simple click

Brayan Florez
5 min readJun 23, 2020

--

The following is a short description about this lovely project, hope you enjoy it.

Purpose

The main purpose of our project is to help those pets who have suffered from violence or abandonment to find a forever home allowing users to post stray pets they know the existence of or adopt one of them.

Team members

The following ones are the people who helped to develop this amazing project.

  • Pilar Pinto: She was in charge of front-end development doing an amazing job, she also did the contact us section.
  • Felipe Londoño: He was in charge of back-end development doing like so a functional sign up and login interfaces in which a user can register and log in having the options to upload its information or adding a new pet to our website.
  • Fabio Gomez: He was in charge of back-end development doing all the adoption form and its functionality, he also did the connection between AWS RDS and MySQL to control our API.
  • And me, Brian Florez: I was in charge of leading the team, working as back-end and front-end developer I made the section of pets making it functional.

We all together deployed our website using AWS services.

Why PetSpot

Our project was created for a reason: we all love pets so we don’t want them to suffer anymore being on the streets possibly with an injury or enduring hungry. It is clear to say that of course, our focus was the previously mentioned too.

A short story

Everyone on my team loves pets and well who doesn’t? It was easy to choose between the options we had to implement this nice project.

I do have a lot of interest in stopping pets’ violence and I think this can be stopped by providing to every single stray animal a home in which they could be happy and loved. I consider adoption is the best way to fulfill this.

Architecture diagram

Used technologies

For the Frontend, we chose to use HTML5, CSS3, and JavaScript with some additional frameworks like Boostrap, ReactJS, and NodeJs. We opted to use these frameworks because we wanted to learn some technologies that are used in really important enterprises and are not taught at Holberton during the foundations’ cycle. For the Backend, we chose to use NodeJS and its web application framework express all along with MySQL.

Completed features until now

Feature №1

In the pets section, there is a filter by breeds to help users to display the pets they want in the fastest way.

Feature №2

A logged user can upload a pet to our website to give it in adoption.

Feature №3

Contact us section which is fully functional so we can get in touch with a user who has been in contact with our amazing page and give more information about us and our posted pets.

The most technical challenge that I succeded in solving

Early in the project, I decided to do a filter but I ended up doing a live search by pet breeds which was the solution I could reach the beginning with the short knowledge I had and still have about ReactJS.

As I was saying, I did the live search but something told me that it wasn’t the best solution for this since the user would have no idea which pet breeds we have in our DB so at the very beginning I add a dropdown in which a user could see the breeds we have in our data so the user could type the breed in the search bar in accordance to it. But there was another problem which is a bit funny and it’s the following one, the user had to type the breed name justly how it was in the dropdown respecting like so the letters’ case. And well I still was struggling with something and it was the type of pet, so I started wondering, how the user would know if this is a cat or dog breed. Everything I did seemed to reach a future dilemma.

Almost at the end of the MVP, I could do a filter that works and it says the type of animal (cat or dog) following by a breed so the user can know what he/she is filtering and that was wonderful to do it using ReactJS. Shortly, I would like to improve it by doing two or more filters, but I hope to get one for the type of animal and another for breeds by the type previously selected.

What have I learned?

Technical takeaways

Well as I mentioned, we decided to work with new technologies we haven’t been in contact with so talking about technologies takeaways I could say I learn a bit of all the stack we used.

What I might do differently

To be honest, I would have liked to take more advantage of time and have implemented some other things to the platform.

What did I learn about myself as an engineer

A tough question, isn’t it? I would say the thing I learned the most about myself not only as an engineer but as a person is that if we put some effort into what we want, we can really achieve everything.

How this project informs my engineering path in the future

Our path might be a little bit undefined at this time, but thanks to this project I realized we all have the possibility to learn anything we want if we know the basis of it in general. Talking about the future well… I decided to go for a specialization so there is more I want to learn before start working.

A belief I held prior to this project

I thought ReactJS was super difficult to it but actually its bases are not that difficult and I’m glad for it. I liked it a lot.

More about me

Hi, I’m Brian Florez, I’m a 23-year-old student at Holberton School Bogota who have successfully fulfilled the foundations' cycle, I studied systems engineering and I also studied English and French. The most impressive thing I can tell you about me it’s that I won a scholarship a few years ago which took me to Germany, over there I did some speeches at some Universities and that was so cool. Over there I discovered a little about programming and since there I can tell I’m in love with this field.

Down below you can find some links, don’t forget to follow me on Twitter.

My Twitter here
My GitHub link here
Project deployed so far here
Project's landing page here
My LinkedIn here

Thank you so much, We hope you adopt lots of pets.

--

--