This device is not compatible.
PROJECT
Build a Rest API for an Image Sharing App with Node.js
In this project, we’ll build a REST API for an image sharing app, using Node.js, Express, and MongoDB. It includes features like user authentication, image uploads, and post management. Additionally, an LLM-powered chatbot is integrated to answer questions about the project using real project documentation.
You will learn to:
Connect the Node.js server to store and retrieve data from MongoDB.
Use MongoDB to store and retrieve data through the Mongoose library.
Create a REST API to insert, retrieve, update, and delete records in the database.
Perform CRUD operations on a database.
Implement a chatbot using LLM based retrieval-augmented generation (RAG) to answer queries based on project-specific data.
Skills
API Development
REST API
Large Language Models (LLMs)
Prerequisites
Good understanding of Node.js
Basic understanding of JavaScript
Basic understanding of MongoDB
Technologies
Gemini
Node.js
Express
Javascript
Project Description
An Application Programming Interface (API) allows different software programs to communicate without understanding each other’s internal logic or structure. APIs are widely used to build server-side applications that support various client interfaces, such as web or mobile apps.
In this project, we'll build a REST API for an image sharing application using Node.js, Express.js, and MongoDB. The backend will support user authentication, profile management, and image posting, allowing users to register, log in, update their profiles with usernames and profile pictures, and share images with the community. We'll implement secure authentication using JSON Web Tokens and follow RESTful API design principles throughout the application.
We'll start by connecting to MongoDB and creating data models for users and posts, then build authentication routes for registration and login with JWT token generation. Next, we'll implement user routes for profile management and post routes for uploading and retrieving images with local file storage. Finally, we'll integrate a Google Gemini-powered chatbot that uses retrieval-augmented generation to answer user questions by searching embedded project documentation and providing context-aware responses.
By the end, we'll have a complete image sharing API demonstrating Node.js backend development, MongoDB integration, JWT authentication, RESTful design, file uploads, and AI-powered features with vector search and RAG implementation.
Project Tasks
1
Introduction
Task 0: Get Started
2
Create a Rest API Using Node.js
Task 1: Get the API Key
Task 2: Set Up a MongoDB Connection
Task 3: Set Up the Vector Store for AI-Powered Chatbot Responses
Task 4: Create a User Model
Task 5: Create a Post Model
Task 6: Create Authentication Routes
Task 7: Create User Routes
Task 8: Create Post Routes
Task 9 : Create Routes for the Chatbot
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.