π Prodigy Internship β Task 01: REST API with CRUD Operations π‘ Project Overview
As part of my ProDigy Internship, I developed a RESTful API for managing a users resource using Node.js and Express.js. This project focuses on backend fundamentals, clean design, and proper data handling.
Each user includes the following properties:
id: Unique UUID
name: Userβs full name
email: Userβs email (validated)
age: Positive integer
The API uses an in-memory storage (Map()) for fast, simple data management and includes robust input validation and error handling.
β¨ Key Features
β Full CRUD functionality (Create, Read, Update, Delete)
β Input validation: Email format & positive age numbers
β Proper HTTP status codes: 201, 400, 404
β Clean, modular Express.js routing
β In-memory storage with Map() for simplicity & speed
π Endpoints Overview Method Endpoint Description POST /users Create a new user GET /users Get all users GET /users/:id Get user by ID PUT /users/:id Update user details DELETE /users/:id Delete a user GET / Welcome message β‘ Example Requests
Create a new user
POST /users { "name": "Deepika", "email": "deepika@example.com", "age": 22 }
Get all users
GET /users
Update a user
PUT /users/:id { "name": "Deepika S", "email": "deepika.s@example.com", "age": 23 }
Delete a user
DELETE /users/:id
π Technologies & Tools
Node.js β Server-side JavaScript runtime
Express.js β Minimalist web framework for APIs
UUID β Unique identifier for users
Validator.js β Email validation
Map() β In-memory storage for fast operations
π Skills & Learnings
REST API design & implementation
Input validation & proper error handling
HTTP status code best practices
Modular and maintainable Express.js architecture
π©βπ» Author
Deepika S. β Prodigy Internship Participant