DEV Community

loading...
Cover image for Hugo - sending hugs you really feel - The backend

Hugo - sending hugs you really feel - The backend

szhabolcs profile image Nagy Szabolcs ・2 min read

The API 🤖

For the backend, I decided to go with a Node and Express combination.
My idea is to have 3 endpoints

Endpoint Behavior
GET api/:id responds with the given hug's data
POST api/?pattern={}&name="" adds a new hug to the database
POST api/:id increments the number of plays in the database

and to make calls from the HTML page to these.

Coding the backend was pretty straightforward because I worked with this kind of environment before.
The one issue I ran into multiple times tho was to do with CORS when connecting to the api from localhost. This time the api was on the DigitalOcean servers so I expected to encounter some issues.
I fixed these by adding this regex rule in the DigitalOcean panel .* which basically enables every source.

The database 🛢

I initially wanted to use a NoSQL database, but since I was running out of time quickly, I decided to go with PostgreSQL because that was the only option on the app platform.

I worked with SQL databases before, but one new thing I learned about was the JSONB Datatype. Turns out, you can conveniently store JSON data in traditional SQL databases. 😅
At first, I actually tried using JSON instead, but since I saved my patterns in a JSON array it couldn't be done.

Final thoughts 💭

Overall I managed to finish everything in a day or so!

Oh and, I haven't told you about the JavaScript behind the websites. Honestly they are pretty boring, just getting states from buttons and API calls, nothing fancy.

Anyways take care, and have a hug! 👻
hug gif

Discussion (0)

pic
Editor guide