PROJECT ID – 41
DOCUMENT MERGING
STACK – >MERN STACK
FRONTEND – REACTJS
BACKEND – NODEJS, EXPRESSJS
DATABASE-MONGODB
API – OPEN API
INTRODUCTION:
This project involves creating a MERN stack (MongoDB, Express.js, React.js,
Node.js) application that accepts n number of links and n number of names as input. Each
link points to a PDF file. The application downloads all the PDFs and saves them with the
given names.
FUNCTIONAL REQUIREMENTS:
The system should allow the user to input any number of PDF links.
The system should allow the user to input any number of names for the PDF’s
to be downloaded.
The system should download all the PDF’s at once in the given name format.
The system should be build using MERN stack.
The system should have a user-friendly interface.
The system should provide error messages if the PDF links are invalid.
FLOW CHART:
START
USER INPUTS
(PDF LINKS AND NAME)
FRONTEND SEND REQUEST TO
BACKEND SERVER(EXPRESS.JS)
WITH THE INPUTS
SERVER VALIDATES THE INPUTS
VALID INVALID
SERVER DOWNLOADS THE
PDFS FROM THE PROVIDED
RETURN ERROR TO FRONTEND
LINKS
SERVER SAVES EACH PDF WITH
THE NAMES PROVIDED BY THE
USER
SERVER SAVES THE PDFS
INFORMATION IN THE
DATABASE(MONGODB)
SERVER SENDS SUCCESS
MESSAGE TO FRONTEND
FRONTEND DISPLAYS THE
SUCCESS MESSAGE TO THE END
USER
FLOW OF THE PROJECT:
1.FRONTEND(REACTJS):
The user interface is built using Reactjs. The user enters the PDF links and the
corresponding names they want for the downloaded PDFs through this interface.
2.BACKEND (EXPRESSJS AND NODEJS):
Once the user submits the form a request is sent to the server. The server is built
using Express.js, which is a web application framework for Node.js.
3.INPUT VALIDATION:
The server validates the inputs it checks if the links are valid and if the names are in
correct format. If the inputs are not valid the server sends an error message back to the
front end which then displays it to the user.
4.PDF DOWNLOAD:
If the inputs are valid, the server downloads the PDFs from the provided links. It
saves each PDF with the corresponding names provided by the user.
5.DATABASE(MONGODB):
The server stores the information about the downloaded PDFs (such as the original
link, the name given by the user and the location where the PDF is saved) in a MongoDB
database.
6.COMPLETION:
Once all the PDF’s have been downloaded and the information has been stored in
the database, the server sends a success message back to the frontend. The frontend then
displays the message to the user.
FIGMA DESIGN:
Design link:
https://www.figma.com/file/1cnKyN1FhKICPiFUxrofQt/Untitled?
type=design&node-id=0%3A1&mode=design&t=4zS0IJRG9skrz7vk-1