Hey everyone π
I just completed Stage 0 of the HNG13 Internship (Backend track), and itβs been an awesome start already!
For our first task, we were asked to build a Dynamic Profile Endpoint API that returns our personal information along with a random cat fact fetched from an external API. π±
π‘ What the task was about
The goal was to:
- Build a simple backend API with Node.js and Express
- Fetch data from a third-party API (Cat Fact API)
- Return both static and dynamic JSON data
- Implement rate limiting for better security and performance
- Handle errors properly and follow clean API design principles
- This project tested our understanding of APIs, JSON, error handling, and rate limiting; all essential backend skills.
π§° Tech Stack
- Backend: Node.js / Express
- Rate Limiter: express-rate-limit
- External API: Cat Fact API
βοΈ Setup Guide
To run the project locally:
Clone the repository
git clone https://github.com/Jamal-09/hng_stage_0.git
Navigate into the folder
cd hng_stage_0
Install dependencies
npm install
Declare environment variables
PORT=3000
Start the development server
node server.js
π Endpoints
GET /
Returns a welcome message.
{
"status": "success",
"message": "Welcome to my dynamic profile API"
}
GET /me
Returns my profile information, timestamp, and a random cat fact.
{
"status": "success",
"user": {
"email": "napg.adekunle@gmail.com",
"name": "Jamal Ademola",
"stack": "Node.js/Express"
},
"timestamp": "2025-10-15T19:35:01.868Z",
"fact": "A group of cats is called a βclowder.β"
}
π Live Demo
π§ Lessons Learned
- Working with third-party APIs in Express
- Parsing and returning dynamic JSON responses
- Implementing rate limiting using middleware
- Handling errors and API reliability properly
π¬ Contact
- π§ Email: napg.adekunle@gmail.com
- π¬ Slack: Jamal-09
Built with π» & β€οΈ by Jamal Ademola
β
Stage 0 complete!
Excited for the next challenge at #HNG13 π
Top comments (0)