0% found this document useful (0 votes)
82 views

Yes

The document is a summer training report submitted by E Yaswanth Kishor to their project supervisors Dr. Mahipal Jadeja and Dr. Smita Naval at the Malaviya National Institute of Technology in Jaipur, India. The report details the development of a social media application using the MERN stack (MongoDB, Express.js, React.js, Node.js). It includes sections that explain each technology used and their advantages. The report contains a certificate, declaration, acknowledgements, abstract, and profiles the hosting organization before going into detail about the technologies.

Uploaded by

Venkatesh .V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Yes

The document is a summer training report submitted by E Yaswanth Kishor to their project supervisors Dr. Mahipal Jadeja and Dr. Smita Naval at the Malaviya National Institute of Technology in Jaipur, India. The report details the development of a social media application using the MERN stack (MongoDB, Express.js, React.js, Node.js). It includes sections that explain each technology used and their advantages. The report contains a certificate, declaration, acknowledgements, abstract, and profiles the hosting organization before going into detail about the technologies.

Uploaded by

Venkatesh .V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

1

Summer Training Report

on
Social Media Application
at

Academy of Skill Development

by

E Yaswanth Kishor (2020UCP1112)

Project Supervisor
Dr. Mahipal Jadeja, Assistant Professor
Dr. Smita Naval, Assistant Professor
MNIT, Jaipur

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

MALAVIYA NATIONAL INSTITUTE OF TECHNOLOGY

December 2023
CERTIFICATE

I,
E Yaswanth Kishor (2020UCP1112)
Declare that this thesis titled, “Social Media Application : Social Reach” :

• This project work was done wholly or mainly while in candidature for a B.Tech. degree
in the department of Computer Science and Engineering at Malaviya National Institute
of Technology Jaipur (MNIT).

• Where published work of others are consulted and clearly attributed, where work of
others are quoted and provided with sources.

• All main sources of help are acknowledged.

Signature

Date

Dr. Mahipal Jadeja


Assistant Professor
Department of Compute Science and Engineering
Malaviya National Institute of Technology Jaipur

i
DECLARATION

This is to certify that this major project titled, “Social Media Application : Social Reach”,
submitted by “E Yaswanth Kishor”, in partial fulfilment of the requirements for the award
of the degree Bachelor of Technology in the Department of Computer Science and Engineer-
ing in Malaviya National Institute of Technology is a record of bonafide major project work
carried out by them under my supervision. The contents of this major project, in full or in
parts, have not been submitted to any other institute or university for the award of any degree
or diploma.

The content of this report, in full or in parts, have not been reproduced from any existing
work of any other person and has not been submitted anywhere else at any time.

Signature

Date

Dr. Mahipal Jadeja


Assistant Professor
Department of Compute Science and Engineering
Malaviya National Institute of Technology Jaipur

ii
INTERN - CERTIFICATE

iii
ACKNOWLEDGEMENT

We would like to express our gratitude to all those who helped us in realizing and nourishing
our work.
We express our sincere regards and gratitude to Dr. Mahipal Jadeja, Assistant Professor,
MNIT Jaipur for his inspiration, expert guidance, morale-boosting, continuous encourage-
ment, and appreciation, which are the vital factors in the successful completion of our major
project work. We are grateful for this support and for giving us the freedom to explore several
opportunities. We humbly acknowledge the deep gratitude towards our guide and mentor.
Throughout all the stages of our project, he helped us to keep track of the right research
direction, patiently discussed and seriously revised all our work. We would also like to thank
Rahul Saxena, Manipal University, Jaipur for his guidance in our progress, helping us stay
focused on problems as well as providing new directions to approach them. We would be
thankful to them for all our life, for providing us with guidance on various matters, always
motivating and boosting us with confidence, which really helped us in shaping our life.
Lastly, we would like to express our heart-felt gratitude to our parents and our family. Thank
you for giving us so much support.

E YASWANTH KISHOR 2020UCP1112

iv
Abstract

In the development of a straightforward MERN (MongoDB, Express.js, React.js, Node.js)


food ordering website, a robust set of technologies has been harnessed to create a user-
friendly and feature-rich platform. Users can seamlessly navigate the site, signing up and
logging in securely. They can explore a diverse range of food items, conveniently adding se-
lections to their cart and completing orders. The application also grants users access to their
order history for reference and reordering. A pivotal feature is the seller component, en-
abling order delivery status updates. Leveraging React.js for frontend interactivity, Node.js
for backend functionality, MongoDB for flexible data storage, Express.js for efficient rout-
ing, and basic HTML and CSS for structuring and styling, this website offers an intuitive
and engaging food ordering experience that caters to both customers and sellers, bridging
the gap between culinary desires and efficient delivery management.

v
Profile of Industry

The Academy Of Skill Development (ASD), an MSME, is a non-profit organization regis-


tered with the Government of West Bengal. ASD holds affiliations to conduct global cer-
tifications such as the Microsoft Technology Associate (MTA), AutoDESK Certified User
(ACU), Adobe Certified Associate (ACA), and EC-Council Associate Certifications.
ASD’s mission is to develop the skills of candidates to meet the ever-changing demands of
the job market. The organization is dedicated to bridging the gap between the industry and
academia, as recent surveys have revealed a substantial disparity between the demand and
supply of qualified candidates. In the current landscape, industries seek candidates who are
job-ready with the right skill set, making employability enhancement training and internships
a crucial component. At ASD, the organization provides cutting-edge Skill Development In-
ternships to address this need.

vi
CONTENTS
Certificate i

Declaration ii

Certificate iii

Acknowledgement iv

Abstract iv

Profile of Industry v

Contents vii

List of Figures ix

Learning Objectives ix

1 Introduction 1

2 NODE.JS 2
2.1 What is Node.js? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Applications using Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Node.js Pros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Node.js Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Node.js should be used when . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 MONGO DB 6
3.1 What is Mongo DB? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Advantages of MongoDB over RDBMS . . . . . . . . . . . . . . . . . . . 7
3.3 Where do we use MongoDB? . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 HTML 9
4.1 What is HTML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Advantages of HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

vii
4.3 Disadvantages of HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 CSS 11
5.1 What is CSS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 Why CSS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.3 Advantages of CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.4 Disadvantages of CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 REACT JS 13
6.1 What is React Js? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2 Key Features of React: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3 Components: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4 Why React: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.5 Why Not Angular: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7 EXPRESS JS 16
7.1 What is Express JS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2 Advantages of Express.js . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Disadvantages of Express.js . . . . . . . . . . . . . . . . . . . . . . . . . 17

8 Implementation 18
8.1 Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.2 Login Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.3 Sign up page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

9 Code Screenshots 20

10 Conclusion 23

11 Bibliography 24

viii
List of Figures
2.1 Node.js Basic Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Working of Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1 Working of Database and Mongo DB . . . . . . . . . . . . . . . . . . . . . 8

6.1 React js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

ix
Learning Objectives

• Internships are generally thought of to be reserved for college students looking to gain ex-
perience in a particular field. However, a wide array of people can benefit from Training
Internships in order to receive real world experience and develop their skills.

• An objective for this position should emphasise the skills you already possess in the area
and your interest in learning more

• Internships are utilised in a number of different career fields, including architecture, en-
gineering, healthcare, economics, advertising and many more.

• Some internships are used to allow individuals to perform scientific research while oth-
ers are specifically designed to allow people to gain first-hand experience working.

• Utilising internships is a great way to build your resume and develop skills that can be
emphasised in your resume for future jobs. When you are applying for a Training Internship,
make sure to highlight any special skills or talents that can make you stand apart from the
rest of the applicants so that you have an improved chance of landing the position.

x
Chapter 1
Introduction

A full-stack web application is a software application that consists of both a front-end


and a back-end component, allowing it to provide a complete user experience. Front-end de-
velopment focuses on creating user interfaces and interactive experiences using technologies
like HTML, CSS, and JavaScript. Back-end development handles server-side logic, database
interactions, and the overall functionality of the application. These Database management is
crucial in full-stack development, with various databases like SQL and NoSQL being used to
store and retrieve data applications often rely on APIs to facilitate communication between
the front-end and back-end.

This website platform serves as a digital hub where librarians and patrons can efficiently
manage, search, borrow, and interact with a diverse array of resources, including books,
journals, digital media, and more. It facilitates tasks such as cataloging, inventory tracking,
membership management, and reservations, ultimately enhancing the overall experience for
both library staff and users. With the advent of technology, library management websites
have become indispensable in modernizing and simplifying library operations, fostering a
dynamic and user-friendly environment for learning and research.

All the logical implementation of the backend is done with the help of JavaScript based
framework which is called Node.js. All the templates are designed and developed using
Bootstrap (CSS and JS framework) and also HTML, CSS, Javascript are used wherever
some scratch functionalities were required.External javascript libraries are also used like
datatables.js to get a custom filter functionality in the tables so that it is easier for the user
to search for a specific date and transaction status (success or failure), withdrawal status,
etc.The database used for the project is a NoSQL database called as MongoDB. IDE used
for all the project development is Visual Studio Code.

1
Chapter 2
NODE.JS

2.1 What is Node.js?

Node.js is an open source, a system application and furthermore is an environment for


servers. Nodejs is an independent development platform built on Chrome’s JavaScript Run-
time that we can build network applications quickly and easily. Google V8 JavaScript engine
is used by Node.js to execute code. Moreover, a huge proportion of essential modules are
written in JavaScript.

Figure 2.1: Node.js Basic Structure

Node.js accommodate a built-in library which allows applications to serve as a Webserver


left out demanding software like Apache HTTP Server, Nginx or IIS. An event-driven, non-
blocking I / O mechanisms (Input / Output) are implemented by Node.js. It optimizes appli-
cation throughout and is extremely high extensible. Node.js use asynchronous in it functions.
Therefore, Node.js processes and executes all tasks in the background (background process-
ing). products that have a lot of traffic are applying Node.js. Nonetheless, Node.js handle the

2
application that need to spread expeditiously, develop innovation, or build Startup projects
as rapidly as possible.

2.2 Applications using Node.js

• WebSocket server
• Notification system
• Applications that need to upload files on the client.
• Other real-time data applications

2.3 Node.js Pros

• Node.js is the exclusive application that with only a single thread, it can obtain and handle
numerous connections. Building new threads for each query is not needed, therefore the
structure expends the least amount of RAM and run rapidly. Secondly, Node.js produces the
most of server property without generate latency with the JavaScript’s non-blocking I/O.
• JSON APIs. JSON Web services can take advantages of that because of the event-driven,
non-blocking I/O structures and JavaScript-enabled model.
• Single page application. NodeJS is very suitable with an application on a single page.
Node.js has the capability to handle different requests concurrent and quick return. Node JS
should be used in an application that does not have to reload the page, including users who
makes a vast number of requests and need a quick procedure to show professionalism.
• Shelling tools Unix. Node.js usually uses Unix to work. They can handle multiple pro-
cesses and return them for best performance. Programmers often use Node.js to build real
Web applications like chat, feeds, etc.
• Streaming Data. Typical websites send HTTP requests and also receive responses. Node.js
can handle many questions and feedback, so they are suitable if the developer wants to create
an application on the page. In addition, Node.js also builds proxies to stream the data, this is
to ensure maximum operation for other data streams.
• Real-time Web Application. Node.js is sufficient to develop real-time innovations like chat
apps, social networking services like Facebook, Twitter because of the opening of mobile

3
application.

2.4 Node.js Cons

• Resource-intensive applications. Node.js is written in C ++ & JavaScript, so when program-


mers need to handle applications that use a lot of file conversion, video encoding, decoding,
etc., they should not be used Node.js. Programmers need to use it more carefully in this case.
• The final purpose of NodeJS is like other programming languages such as Ruby, PHP, .NET,
Python, that is developing web application. Therefore, do not expect NodeJS to outperform
other language for now. But with NodeJS the application can be developed successfully as
expected.

Node.js eliminates the waiting, and simply continues with the next request. Node.js runs
single threaded, non-blocking, asynchronously, which is very memory efficient.

Figure 2.2: Working of Node.js

4
2.5 Node.js should be used when

• Building RESTful API (JSON). You can use Node.js in building RESTful API (JSON).
They handle JSON very easily, even more than JavaScript. API servers when using Node.js
usually do not have to perform heavy processing, but the number of concurrent requests is
high.
• Applications that demand alternative connection protocols, not just http. With TCP proto-
col backing, any custom protocol can be built easily.
• Real-time applications.
• Stateful websites. Every request on the invariable procedure is handled by Node.js, there-
fore building caching is simpler: store it to a comprehensive variable then all requests can
approach the cache.

5
Chapter 3
MONGO DB

3.1 What is Mongo DB?

MongoDB is an open source database; it is also the leading NoSQL database currently used
by millions of people. It is written in one of the most popular programming languages today.
In addition, MongoDB is cross-platform data that operates on the concepts of Collections
and Documents, providing high performance with high availability and ease of expansion.
NoSQL is a source database format that does not use Transact-SQL to access information,
this database was developed on JavaScript Framework on JSON data type. With its in-
troduction, it has overcome the disadvantages of RDBMS relational data model to improve
operating speed, functionality, model scalability, cache ... Furthermore, MongoDB is a cross-
platform database, performing on Collection and Document approach, it produces sharp pro-
duction, huge availability, and effortless scalability.

Features of Mongo DB–

1. Document Oriented: MongoDB stores the main subject in the minimal number
of documents and not by breaking it up into multiple relational structures like RDBMS.
For example, it stores all the information of a computer in a single document called
Computer and not in distinct relational structures like CPU, RAM, Hard disk, etc.

2. Indexing: Without indexing, a database would have to scan every document of a


collection to select those that match the query which would be inefficient. So, for effi-
cient searching Indexing is a must and MongoDB uses it to process huge volumes of
data in very less time.

3. Scalability: MongoDB scales horizontally using sharding (partitioning data across


various servers). Data is partitioned into data chunks using the shard key, and these

6
data chunks are evenly distributed across shards that reside across many physical
servers. Also, new machines can be added to a running database

4. Replication and High Availability: MongoDB increases the data availability


with multiple copies of data on different servers. By providing redundancy, it protects
the database from hardware failures. If one server goes down, the data can be retrieved
easily from other active servers which also had the data stored on them.

5. Aggregation: Aggregation operations process data records and return the computed
results. It is similar to the GROUPBY clause in SQL. A few aggregation expressions
are sum, avg, min, max, etc

3.2 Advantages of MongoDB over RDBMS

1. Schema less: MongoDB is a document database in which one collection holds different
documents. Number of fields, content and size of the document can differ from one
document to another

2. Structure of a single object is clear.

3. No complex joins.

4. Deep query-ability. MongoDB supports dynamic queries on documents using a document-


based query language that’s nearly as powerful as SQL.

5. Ease of scale-out: MongoDB is easy to scale.

6. Conversion/mapping of application objects to database objects not needed.

3.3 Where do we use MongoDB?

MongoDB is preferred over RDBMS in the following scenarios:

7
• Big Data: If you have huge amount of data to be stored in tables, think of MongoDB be-
fore RDBMS databases. MongoDB has built-in solution for partitioning and sharding your
database.
• Unstable Schema: Adding a new column in RDBMS is hard whereas MongoDB is
schema-less. Adding a new field does not effect old documents and will be very easy.
• Distributed data: Since multiple copies of data are stored across different servers, re-
covery of data is instant and safe even if there is a hardware failure.

Figure 3.1: Working of Database and Mongo DB

8
Chapter 4
HTML

4.1 What is HTML?

Hypertext markup language (HTML) is a Hypertext markup language, the standard markup
language for documents designed to displayed and viewed on the online during a browser
also helps to create the structure of the web page. because it is a markup language, it con-
sists of many tags. There are tags to display text, tables, ordered lists and unordered lists,
etc. There are two main sections on the HTML page: head and body section. The data that
describes the page also termed as metadata is inside the head section while the body sec-
tion includes all the tags that are necessary to represent the visible content of the web page
HTML is a platform-independent language so that can be made in use in any platform like
Windows, Linux, Macintosh, etc.
There are various HTML versions. The newest version is HTML 5. it’s more advanced fea-
tures like Geo-location, native audio, and video support, Canvas, web socket, etc. Usually,
HTML is a simple language to find out and use. A programmer can create an HTML file
employing a simple text editor and execute it employing a browser.

4.2 Advantages of HTML

1. HTML helps to build structure of a website and is a widely used Markup language.

2. It is easy to learn.

3. Every browser supports HTML Language.

4. HTML is light weighted and fast to load.

5. Storage of big files are allowed because of the application cache feature.

6. Do not get to purchase any extra software because it’s by default in every window.

9
7. HTML is simple to edit as being a plain text.

8. HTML also allows the utilization of templates, which makes designing a webpage
easy.

9. It is fast to download as the text is compressible.

10. Very useful for beginners in the web designing field.

4.3 Disadvantages of HTML

1. It cannot produce dynamic output alone, since it’s a static language.

2. Making the structure of HTML documents becomes tough to understand.

3. Errors can be costly.

4. It is time-consuming as the time it consumes to maintain the color scheme of a page


and to make lists, tables, and forms.

5. We need to write a lot of code for just creating a simple webpage.

6. We have to check up the deprecated tags and confirm not to use them to appear because
another language that works with HTML has replaced the first work of the tag, and
hence the opposite language needs to be understood and learned.

7. Security features offered by HTML are limited.

10
Chapter 5
CSS

5.1 What is CSS?

Cascading Style Sheets, fondly referred to as CSS, is a simply designed language intended
to simplify the process of making web pages presentable. CSS allows you to apply styles
to web pages. More importantly, CSS enables you to do this independently of the HTML
that makes up each web page. It describes how a webpage should look: it prescribes colours,
fonts, spacing, and much more. In short, you can make your website look however you want.
CSS lets developers and designers define how it behaves, including how elements are posi-
tioned in the browser. While HTML uses tags, CSS uses rulesets. CSS is easy to learn and
understand, but it provides powerful control over the presentation of an HTML document.

5.2 Why CSS?

• CSS saves time: You can write CSS once and reuse the same sheet in multiple HTML
pages.
• Easy Maintenance: To make a global change simply change the style, and all elements
in all the webpages will be updated automatically
• Search Engines: CSS is considered a clean coding technique, which means search en-
gines won’t have to struggle to “read” its content
• Superior styles to HTML: CSS has a much wider array of attributes than HTML, so
you can give a far better look to your HTML page in comparison to HTML attributes
• Offline Browsing: CSS can store web applications locally with the help of an offline
cache. Using this we can view offline websites

11
5.3 Advantages of CSS

• CSS plays an important role, by using CSS you simply got to specify a repeated style for
element once use it multiple times as because CSS will automatically apply the required
styles.
• It is less complex therefore the effort are significantly reduced.
• It helps to form spontaneous and consistent changes.
• CSS changes are device friendly. With people employing a batch of various range of smart
devices to access websites over the web, there’s a requirement for responsive web design.
• It has the power for re-positioning. It helps us to determine the changes within the position
of web elements who are there on the page.
• These bandwidth savings are substantial figures of insignificant tags that are indistinct from
a mess of pages.
• Easy for the user to customize the online page
• It reduces the file transfer size.

5.4 Disadvantages of CSS

• CSS, CSS 1 up to CSS3, result in creating of confusion among web browsers. With CSS,
what works with one browser might not always work with another. The web developers need
to test for compatibility, running the program across multiple browsers.
• There exists a scarcity of security.
• After making the changes we need to confirm the compatibility if they appear. The similar
change effects on all the browsers.
• The programming language world is complicated for non-developers and beginners. Dif-
ferent levels of CSS i.e. CSS, CSS 2, CSS 3 are often quite confusing.
• Browser compatibility (some styles sheet are supported and some are not).

12
Chapter 6
REACT JS

6.1 What is React Js?

React.js, commonly known as React, is a JavaScript library developed by Facebook for build-
ing user interfaces. It focuses on creating efficient and interactive UIs by breaking down the
UI into reusable components. React follows a component-based architecture, where each
component manages its own state, and changes in state trigger automatic updates to the UI.
One distinctive feature of React is its use of a virtual DOM, which optimizes rendering and
enhances performance by minimizing actual DOM manipulations.

6.2 Key Features of React:

1. Declarative Syntax: React uses a declarative syntax that makes it easy to understand
and visualize the UI components.

2. Component-Based: React applications are built using components, allowing for mod-
ular and reusable code.

3. Virtual DOM: React employs a virtual DOM to optimize updates, reducing the need
for direct manipulation of the actual DOM.

4. One-Way Data Binding: React enforces a unidirectional flow of data, making it easier
to manage state and props.

5. JSX: React uses JSX (JavaScript XML) for defining component structures, providing
a syntax extension that combines JavaScript with XML-like syntax.

13
Figure 6.1: React js

6.3 Components:

React revolves around the concept of components, which are self-contained, reusable build-
ing blocks for UI elements. Components can be either functional or class-based, each having
its use cases. They manage their own state and can receive data via props. React components
follow a lifecycle with methods like componentDidMount and componentWillUnmount,
enabling developers to handle component initialization, updates, and cleanup.

6.4 Why React:

React has gained popularity for several reasons:

1. Efficiency: React’s virtual DOM allows for efficient updates and renders, enhancing
performance.

2. Reusable Components: The component-based architecture promotes code reuse, mak-


ing development faster and more maintainable.

3. Large Community: React has a vast and active community, ensuring continuous sup-
port, updates, and a wealth of resources.

14
4. React Native: React can be used to develop mobile applications using React Native,
enabling code-sharing between web and mobile platforms.

5. Unidirectional Data Flow: React’s one-way data binding simplifies state manage-
ment and reduces bugs.

6.5 Why Not Angular:

While Angular is a powerful framework, some considerations may lead developers to choose
React over Angular:

1. Learning Curve: React has a relatively shallow learning curve compared to Angular,
making it more accessible for beginners.

2. Flexibility: React is more flexible, allowing developers to choose libraries and tools
that best fit their needs.

3. Performance: React’s virtual DOM often leads to better performance in rendering


updates.

15
Chapter 7
EXPRESS JS

7.1 What is Express JS?

Express is a small framework that sits on top of Node.js’s web server functionality to simplify
its APIs and add helpful new features. It makes it easier to organize your application’s func-
tionality with middleware and routing; it adds helpful utilities to Node.js’s HTTP objects;
it facilitates the rendering of dynamic HTTP objects. Express is a part of MEAN stack, a
full stack JavaScript solution used in building fast, robust, and maintainable production web
applications.

7.2 Advantages of Express.js

1. Minimalist and Flexible: Express is known for its minimalistic and unopinionated
design. It provides a fundamental set of features and leaves many decisions up to the
developer, allowing for flexibility and customization in building web applications.

2. Middleware Support: Express has robust middleware support, which allows develop-
ers to add additional functionality to their applications easily. Middleware can handle
tasks like authentication, logging, and request parsing.

3. Rapid Development: With its simplicity and numerous third-party middleware pack-
ages available, Express allows developers to build web applications quickly and effi-
ciently, reducing development time.

4. Large Community and Ecosystem: Express has a vast and active community, which
means plenty of resources, tutorials, and third-party libraries are available. This can
help developers find solutions to common problems and extend their applications.

5. Performance: Express.js is built on top of Node.js, which is known for its asyn-
chronous, non-blocking I/O model. This can lead to excellent performance for han-
dling a large number of concurrent connections.

16
6. Scalability: Express is well-suited for building scalable applications. Developers can
use it as a foundation to create RESTful APIs and microservices that can be easily
scaled horizontally.

7.3 Disadvantages of Express.js

1. Lack of Opinion: While flexibility is an advantage, it can also be a disadvantage


for less experienced developers who may struggle with making architectural decisions
without clear guidance.

2. Minimalistic: Express provides minimal built-in features compared to some other web
frameworks. Developers might need to integrate additional libraries or write custom
code for features that come pre-built in other frameworks.

3. Learning Curve: For newcomers to Node.js and web development, Express may have
a steeper learning curve than more opinionated frameworks that provide more structure
out of the box.

4. Boilerplate Code: While flexibility is an advantage, it can also lead to more boiler-
plate code for common tasks that other frameworks might handle automatically.

5. Security: Express does not provide built-in security features, so developers need to be
cautious and knowledgeable about security best practices when building applications
with it.

6. Documentation: Although Express has improved its documentation over time, some
developers still find it less comprehensive and organized compared to other frame-
works.

17
Chapter 8
Implementation

8.1 Home Page

8.2 Login Page

18
8.3 Sign up page

19
Chapter 9
Code Screenshots

20
21
22
Chapter 10
Conclusion

A website with multiple pages has been effectively crafted, ensuring responsiveness across
various devices and screen sizes. Thorough testing has been conducted to identify and re-
solve any potential bugs, ensuring smooth functionality on devices with different resolutions.
The website adeptly handles user interactions, providing a seamless experience.

This project has proven to be an enriching experience, deepening my understanding of tech-


nical skills. Personally, I have gained valuable insights. The field offers abundant opportu-
nities for students seeking to venture into web design. Both private and public organizations
actively seek web designers for online projects and website development. The proficiency in
seven web development technologies has been acquired, empowering the creation of diverse
websites. Additionally, the skill of project planning has been honed through this learning
experience.

23
Chapter 11
Bibliography

The following documentations are referred during the analysis and execution phase of the
project:

1. https://www.geeksforgeeks.org/introduction-to-express/

2. https://www.javascript.com/learn

3. https://www.udemy.com/course/the-web-developer-bootc

4. https://www.w3schools.in/mongodb/tutorials/

5. https://www.w3schools.com/nodejs/

24

You might also like