Professional Documents
Culture Documents
report hinal-5
report hinal-5
A PROJECT REPORT
Submitted by
200760107130
BACHELOR OF ENGINEERING
In
Computer Engineering
Surat
CERTIFICATE
This is to certify that the project report submitted along with the project entitled
Full Stack Web Development has been carried out by Vaghasiya Hinal
Surat
DECLARATION
We hereby declare that the Internship / Project report submitted along with the
project work carried out by me at Durvasa Infotech, Surat under the supervision
of Darshan Chauhan and that no part of this report has been directly copied from
any students’ report or taken from any other source, without providing due
reference.
ACKNOWLEDGMENTS
The success of any task relies on the efforts made by person but it cannot be achieved without
cooperation of other persons which are being helpful. So, we would like to thank SHREE
SWAMI ATMANAND SARASWATI INSTITUTE OF TECHNOLOGY and DURVASA
INFOTECH, Surat. for giving us the opportunity of doing this Summer Internship.
The entire session of our internship completion was a great experience providing us with the
insight & invocation into learning various software engineering concepts & benefits of team
work. We would like to take this opportunity to express our sincere thanks to all those people
without whose support and co-operation, it would have been difficult to complete this project.
Primarily, we are very much thankful to our Internship Mentor Mr. Viral Patel and PMMS
Internship Faculty guide Prof. Nidhi Patel for their leading guidance and sincere efforts
throughout project work. They took deep interest in simplifying the difficulties. Also, they
have been consistent source of inspiration for us.
We also express thanks to Prof. Hemangi Mirani class coordinator for her personal
involvement, constructive suggestion and thoughtful idea for betterment of the project. We are
grateful to our H.O.D. Prof. Chirag Patel and our beloved Principal Dr. Jignesh Vaghasiya
for providing us deep knowledge and all necessary resources. We are also thankful to our
Friends and Non-teaching Staff for their valuable time & help for completion project.
Once again, we are grateful to all those without whom this work would not have been
successful.
ABSTRACT
LIST OF FIGURES
Fig 4.1 npm init........................................................................................................................07
Fig 4.2 Create React App..........................................................................................................08
Fig 4.3 File Structure................................................................................................................08
Fig 4.4 React Routing...............................................................................................................09
Fig 4.5 Run React App.............................................................................................................09
Fig 4.6 React Application1…...................................................................................................10
Fig 4.7 React Application2.......................................................................................................11
Fig 6.1 User Registration..........................................................................................................15
Fig 6.2 Data inserted.................................................................................................................16
Fig 6.3 User login.....................................................................................................................16
Fig 6.4 User profile display......................................................................................................16
Fig 6.5 Forgot password...........................................................................................................17
Fig 6.6 Data updated.................................................................................................................17
Fig 6.7 API test in Postman......................................................................................................18
Fig 6.8 User Registration..........................................................................................................19
Fig 6.9 Send request verification link.......................................................................................20
Fig 6.10 Verification link to mail.............................................................................................20
Fig 6.11 Link verified...............................................................................................................21
Fig 6.12 Firebase database........................................................................................................21
Fig 6.13 Registration API.........................................................................................................23
Fig 6.14 Postman testing..........................................................................................................23
Fig 6.15 Login API...................................................................................................................24
Fig 6.16 Dashboard after successful login................................................................................24
Fig 7.1 Home page....................................................................................................................25
Fig 7.2 Add Student..................................................................................................................26
LIST OF TABLES
Table 1.1 Topics and tasks of internship...................................................................................03
Table 5.1 Mongo DB command...............................................................................................13
Table 6.1 HTTP methods..........................................................................................................14
ABBREVIATIONS
API Application Programing Interface
JSON JavaScript Object Notation
Auth Authentication
JWT Json web token
EJS Embedded Java Script
TABLE OF CONTENTS
Acknowledgement....................................................................................................................vi
Abstract....................................................................................................................................vii
List of figures..........................................................................................................................viii
List of tables...............................................................................................................................x
List of abbreviation...................................................................................................................xi
Table of contents......................................................................................................................xii
Chapter 1 Overview of Company...............................................................................................1
1.1. Introduction...................................................................................................................1
1.2. Objective of Internship..................................................................................................2
1.3. Contact details...............................................................................................................2
Chapter 2 Topics and task of Intrnship.......................................................................................3
Chapter 3 Overview of Full-Stack Web Development...............................................................4
3.1. Introduction to Full-Stack Web Development...............................................................4
3.2. Advantages of Full-Stack Web Development...............................................................5
3.3. Technologies.................................................................................................................5
3.3.1. React JS................................................................................................................5
3.3.2. Node JS.................................................................................................................5
3.3.3. Express JS.............................................................................................................5
3.3.4. EJS........................................................................................................................5
3.3.5. Mongo DB............................................................................................................6
Chapter 4 Introduction to React..................................................................................................7
4.1. Build React Application................................................................................................7
4.2. Routing in React............................................................................................................9
4.3. Run React App...............................................................................................................9
1.1. INTRODUCTION
India is making quick progress in software and website development industry. There are many
mentionable software and website development organizations in India who has contributed
significantly to the rise of software and website development industry sector in India and
Durvasa Infotech is one of them.
Durvasa Infotech is an IT company providing Services & training in various genres of IT fields
such as Android App Development, Website Development with strategy and technology that
covers a wide range of platforms.
As company says, We will help you to achieve your goals and to grow your business We're
Here To Build Your Digital Business. We do not believe in making replicas. To us, being
original makes all the difference. That‟s how we planted the first tree of the Durvasa Infotech
With smart work ethics and creativity as our roots, we have developed a fool-proof approach
that allows us to think out-of-the-box, yet never lose sight of the end-goal - client satisfaction.
Our drive to provide elegant and effective digital solutions has enabled us to gain clientele all
across the globe. Whether it is about designing a website from scratch or re-engineering an
existing product, we have done it all.
Want to take your business online? Let us help you take your business to the next level!
They have Web development, Web Design, App development, Software Development, App
Design, Custom Web Application, Mobile Apps Development, Content Management System,
E-commerce, Social media Designing, Digital Marketing, SEO , Graphic Designing, UI/UX ,
Innovation, technology, and etc.. available.
5. Earning an industry experience that will narrow down our list of potential careers.
EMAIL : DURVASAINFOTECH@GMAIL.COM
DEVELOPMENT
Full stack development is the end-to-end development of applications. It includes both the
front end and back end of an application. The front end is usually accessed by a client, and the
back end forms the core of the application where all the business logic is applied.
The main components of a full stack development are the front-end, back-end and database
Front-end
Front end development is the area of web development that focuses on the user interface.
It is all about converting the backend code into a graphical interface. The front end makes
the data easy to read and understand.
Back-end
The back end refers to parts of a computer application or a program's code that allow it to
operate and that cannot be accessed by a user. Most data and operating syntax are stored
and accessed in the back end of a computer system. Typically the code is comprised of one
or more programming languages.
Database
Databases play a crucial role in full-stack development as they store and manage
application data. Popular database technologies used include MySQL, PostgreSQL,
MongoDB, and Redis. Databases enable data persistence, data retrieval, and efficient data
manipulation for the application.
3.3 Technologies
3.3.1 React JS
3.3.2 Node JS
3.3.3 Express JS
Express is a node js web application framework that provides broad features for
building web and mobile applications. It is used to build a single page,
multipage, and hybrid web application. It's a layer built on the top of the Node
js that helps manage servers and routes
3.3.4 EJS
EJS is a simple templating language that lets you generate HTML markup with
plain JavaScript. No religiousness about how to organize things. No reinvention
of iteration and control-flow. It's just plain JavaScript.
3.3.5 MongoDb
MongoDB is a document database. It stores data in a type of JSON format called
BSON. If you are unfamiliar with JSON, check out our JSON tutorial. A record
in MongoDB is a document, which is a data structure composed of key value
pairs similar to the structure of JSON objects.
The npm init command in the JSON language creates a package.json file for your project’s
frontend. A package.json file is a file that contains information about the project’s packages
and dependencies. It also contains metadata for the project such as version number, author, and
description.
Once our project files have been created and our dependencies have been installed, our project
structure should look like this:
Routing is the process of redirecting a user to different pages based on their action or request.
The primary goal of Router in React JS is to supply the browser with an asynchronous URL
that corresponds to the data that will show on the web page. It is mainly used to create single-
page web apps since it retains the application's regular structure and functionality.
MongoDB Compass is a powerful GUI for querying, aggregating, and analyzing your
MongoDB data in a visual environment. Compass is free to use and source available, and can
be run on macOS, Windows, and Linux.
5.2.1 Features
Intelligent query generation.
Drag and drop aggregation pipeline builder.
Access the MongoDB Shell directly in Compass.
Import and export data as needed.
Visualize, validate, and analyze schema.
Assess query performance in granular detail.
Optimize queries with index analysis.
5.3 Command
Name Description
findAndModify Returns and modifies a single document.
getMore Returns batches of documents currently pointed to by the cursor.
insert Inserts one or more documents.
resetError Removed in MongoDB 5.0. Resets the last error status.
update Updates one or more documents.
Method Description
GET The GET method requests a representation of the specified resource.
Requests using GET should only retrieve data and should have no other
effect.
POST The POST method requests that the server accept the data enclosed in the
request as a new object/entity of the resource identified by the URI.
PUT The PUT method requests that the server accept the data enclosed in the
request as a modification to existing object identified by the URI. If it does
not exist then the PUT method should create one.
DELETE The DELETE method requests that the server delete the specified resource.
User registration
Data insertion
User login
Forgot password
Data update
Postman is a widely-used API testing tool that simplifies the process of testing
APIs. It offers a user-friendly interface, making it accessible to both developers
and testers. With Postman, you can create, execute, and automate API tests
efficiently.
It contains four pages which are login, profile, signup, update. All pages are connected to each
other according to its flow of work. It authenticate the user with email while doing the signup
task, verifies the user and then allow to go ahead. It also authenticate while user wants to update
the password.
6.6 JWT
6.3.1 Introduction
JWT, which stands for "JSON Web Token," is a compact and self-contained way to
securely transmit information between parties as a JSON object. It is commonly used
for authentication and authorization in web applications and services. JWTs consist of
three parts: a header, a payload, and a signature, and they are often used to verify the
identity of users and ensure the integrity of data being transmitted.
Steps
1. Install JWT using “npm i jsonwebtoken -s” command.
2. Import JWT just below the const bcrypt = require("bcrypt"); line at the top
of the app.js file:
const jwt = require("jsonwebtoken");
3. To create and verify token
jwt.sign(payload, secretOrPrivateKey, [options, callback]): This line
generates a JSON Web Token (JWT) using the jwt library
jwt.verify(token, secretKey, (err, authData) => { ... }: This code is used
to verify the JWT that was just generated.
Create API for saving the username ,email and password and generated token using
email into database with the following code for successful registration.
If Email exists and Password matches then it will generate token to Authenticate user
by verifying generated token with stored token
CHAPTER 7 : CRM
CHAPTER 8 : CONCLUSION
In the subject of a Summer Internship I have learnt many things. I have completed my summer
internship Durvasa Infotech. During the Internship period I have learned how company works
on projects and how will the task submission and project creation.
Full stack web development is an evolving technology and the developers are readily exploring
its potential of creating robust website and applications. The process takes all the three layers
i.e. Presentation , business logic and database. The best part is that a developer is not restricted
to work on a certain set of tools and frameworks, and rather handpick the resources of his
choices.
During this Internship, I developed my skills in technologies like HTML, CSS , Java Script,
Bootstrap, Node JS, React JS, Express JS, Firebase, EJS and MongoDB and got good
knowledge and experience from it.
REFERENCES
1) https://www.mongodb.com/languages/full-stack-development
2) https://www.geeksforgeeks.org/
3) https://www.w3schools.com/
4) https://react.dev/
5) https://www.section.io/engineering-education/email-
authentication-and-verification-nodejs-firebase/
6) https://www.mongodb.com/products/tools/atlas-cli