https://github.com/athulsabu2002/backend-dev-apis
https://github.com/athulsabu2002/backend-dev-apis
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/athulsabu2002/backend-dev-apis
- Owner: AthulSabu2002
- Created: 2025-06-26T10:02:36.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-26T11:20:49.000Z (4 months ago)
- Last Synced: 2025-06-26T11:41:25.038Z (4 months ago)
- Language: JavaScript
- Size: 46.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚀 Back End Development and APIs Certification Projects



This repository contains five microservice APIs built as part of the [freeCodeCamp.org Back End Development and APIs Certification](https://www.freecodecamp.org/learn/back-end-development-and-apis/). These projects demonstrate practical skills in Node.js, npm, Express, MongoDB, and Mongoose.
## 📑 Table of Contents
- [Projects Overview](#projects)
- [Learning Outcomes](#learning-outcomes)
- [Installation](#installation)
- [Usage](#usage)## 🛠️ Projects
### 1. [Timestamp Microservice](./timestamp-microservice)
> 🕒 An API that returns Unix and UTC timestamps for a given date string or the current date.
>
> **Example:** `/api/timestamp/2015-12-25` → `{ "unix": 1451001600000, "utc": "Fri, 25 Dec 2015 00:00:00 GMT" }`### 2. [Request Header Parser Microservice](./request-header-parser)
> 📋 An API that returns information about the client's IP address, language, and software from the request headers.
>
> **Example:** `/api/whoami` → `{ "ipaddress": "192.168.1.1", "language": "en-US,en", "software": "Chrome/91.0.4472.124" }`### 3. [URL Shortener Microservice](./url-shortener)
> 🔗 An API that shortens URLs and redirects users to the original URL when the short link is visited.
>
> **Example:** POST `/api/shorturl` → `{ "original_url": "https://www.freecodecamp.org", "short_url": 1 }`### 4. [Exercise Tracker](./exercise-tracker)
> 🏃♂️ An API that allows users to create accounts, log exercises, and retrieve exercise logs. Built with MongoDB and Mongoose.
>
> **Features:** User creation, exercise logging, and filtering logs by date range### 5. [File Metadata Microservice](./file-metadata)
> 📂 An API that accepts file uploads and returns metadata about the uploaded file, such as name, type, and size.
>
> **Example:** Upload a file → `{ "name": "example.jpg", "type": "image/jpeg", "size": 12345 }`## 📚 Learning Outcomes
Through these projects, I learned how to:
- Build RESTful APIs using Node.js and Express
- Manage project dependencies with npm
- Handle HTTP requests and responses
- Parse and validate user input
- Work with MongoDB and Mongoose for data storage and retrieval
- Implement file upload functionality
- Deploy and test microservices## ⚙️ Installation
```bash
# Clone the repository
git clone https://github.com/yourusername/backend-dev-apis-projects.git# Navigate to project directory
cd backend-dev-apis-projects# Install dependencies
npm install
```## 🖥️ Usage
Each microservice can be run independently:
```bash
# Navigate to specific project
cd timestamp-microservice# Install project dependencies
npm install# Start the service
npm start
```---
*These projects were completed as part of the freeCodeCamp Back End Development and APIs curriculum.*