[DAY 113-117] I built 5 backend projects to acquire a backend certificate
Hi everyone! Welcome back to another blog where I document the things I learn in web development. I do this because it helps retain the information and concepts through active recall.
I completed the backend course in freecodecamp and acquired the certificate by building the 5 required projects.
I built all the projects using Node and Express.
The first project I built is a timestamp microservice where you enter the route /api/:date?
, and it responds with a JSON object containing unix
and utc
properties corresponding to the provided date parameter.
If the entered route contains an invalid date or an invalid Unix timestamp, it responds with a JSON object containing an error
property.
If no date is provided in the route (since the parameter is optional), it responds with a JSON object containing unix
and utc
properties corresponding to the current date.
The next project is a request header parser microservice where you enter the route /api/whoami
, and it responds with a JSON object containing the IP address, language, and software of the current user.
The 3rd project is a URL shortener microservice where you enter a valid URL (must include http
or https
), and it responds with a JSON object containing the original_url
and a short_url
. The short_url
is generated based on the stored value in the database.
I created a database where all previously entered URLs are stored, each assigned a short_url
starting from 1. New URLs will be assigned a short_url
that increments from the last number in the database.
The fourth project is an exercise tracker where you must first create a user, who will be stored in the database. The ID of the created user will then be used to add exercises, which are also stored in the database. These exercises are exclusive to the user entered in the form.
Additionally, you can view exercise logs to retrieve a list of the user’s exercises and see how many exercises a particular user has. You can also input date range parameters to retrieve the user's exercises within a specific timeframe.
For the last project, I built a file metadata microservice where you upload a file, and upon uploading, it responds with a JSON object containing the file's name, type, and size.
I used the Multer package in Node to read the file's information.
Overall, these five projects were simple but valuable for practicing my backend skills. They pushed me to take on more challenging projects and gave me the momentum to continue my path as a full-stack developer.
My next projects will be full-stack apps using MERN (Mongo-Express-React-Node) and practice everything I’ve learned so far. My goal is to keep learning full-stack development by building more projects in the future.
Anyways, that’s all for now. More updates in my next blog! See you there!