This device is not compatible.
PROJECT
Build RESTful API for Social Network with Express.js and MongoDB
In this project, we’ll build a real-world authenticated RESTful API for a developer portfolio using Express.js and MongoDB. We’ll include user sign-up/login, profiles, project uploads, likes, comments, and admin controls and roles.
You will learn to:
Design and build RESTful APIs with Express.js and MongoDB.
Implement JWT-based authentication and protect routes.
Structure a scalable and modular Express backend.
Use middleware for logging and global error handling.
Skills
Web Development
Full Stack Development
API Development
RESTful API
Prerequisites
Basic understanding of HTTP methods and RESTful design
Experience with JWT authentication
Familiarity with Express.js routing and middleware
Basic knowledge of MongoDB and Mongoose
Technologies

MongoDB
Express
Project Description
In this hands-on Express.js project, we’ll build the backend API for DevConnector, a portfolio builder platform for developers. Users can register, log in, create profiles, and manage projects. Each project includes GitHub links, tech stacks, screenshots, and can receive likes and comments from other users.
We’ll implement real-world backend features such as user authentication using JWT, protected routes, file uploads with Multer, and role-based access control (RBAC). We’ll also apply validation and sanitization, use middleware for error handling and logging, and structure our API using clean, modular conventions.
This project focuses entirely on the backend. We’ll interact with a prebuilt frontend and expose all necessary RESTful endpoints, mimicking a production-level developer tool.
Project Tasks
1
Get Started
Task 0: Explore the Project Setup
2
User Authentication
Task 1: Implement User Registration
Task 2: Implement User Login
Task 3: Add Auth Middleware and a Protected Route
3
Profile and Project Management
Task 4: Create or Update the Profile with Validation
Task 5: Implement Profile Retrieval and Deletion
Task 6: Implement the Project CRUD API: I
Task 7: Implement the Project CRUD API: II
Task 8: Upload the Project Screenshot Using Multer
Task 9: Add Likes and Comments to Projects
4
Admin and System-Level Features
Task 10: Admin Controls for Projects and Profiles
Task 11: Add Logging and Global Error Handling
Congratulations!
Subscribe to project updates
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.