Professional Documents
Culture Documents
WEB DEVELOPMENT
BACHELOR OF COMPUTER
APPLICATIONS
to
1
SFRC, Govt. of NCT of India Recognized under
section 2(f) of the UGC Act, 1956
NAAC Accredited “B++” Grade Institution
2
To Whom It May Concern
I Sherodhi Sharma, Enrolment No. 03724002020 from BCA-V Sem of the Trinity Institute of
Professional Studies, Delhi hereby declare that the Summer Project/Training Report entitled
Web Development at Udemy is an original work and the same has not been submitted to any
other Institute for the award of any other degree.
Date: Signature of
the Student
Certified that the Summer Project Report submitted in partial fulfillment of Bachelor of
Computer Applications (BCA) to be awarded by G.G.S.I.P. University, Delhi by Sherodhi
Sharma, Enrolment No. 03724002020 has been completed under my guidance and is
Satisfactory.
3
CONTENTS
S No Topic Page No
1. Certificate (s) 4
2. Acknowledgements 5
3. List of Tables 6
4. List of Figures 6
5. List of Abbreviations 6
15. References 54
4
5
ACKNOWLEDGEMENT
With candor and pleasure, I take this opportunity to thank the Almighty and express my
sincere thanks and obligation to all the faculty members of CS&IT Department and my
instructor Mr. Andrei Neagoie from Udemy who never hesitated to help me from time to time
during the project. It is because of their able and mature guidance and co-operation without
which it would not have been possible for me to complete this project.
Finally, I gratefully acknowledge the support, encouragement & patience of my family and
friends.
Thank You!
6
LIST OF TABLES
LIST OF FIGURES
LIST OF ABBREVIATIONS
7
ABOUT UDEMY
Udemy, Inc. is a global destination for teaching and learning online. It was founded in May
2010 by Eren Bali, Gagan Biyani, and Oktay Caglar.
As of November 2022, the platform has more than 57 million students, 213,000 courses, and
74,000 instructors teaching courses in over 75 languages. There have been over 773 million
course enrollments.[3]
Students take courses primarily to improve job-related skills. Some courses generate credit
toward technical certification. Udemy has made a special effort to attract corporate trainers
seeking to create coursework for employees of their company.
Udemy has not yet generated a profit as is common among high-growth startups who invest
heavily in their own growth.[22] Udemy reported net losses of $69.7 million for 2019 and
$77.6 million in net losses for 2020. By June 30, 2021, Udemy had an accumulated deficit of
$407.9 million. In 2020, Udemy spent $192.6 million on marketing and advertising.
Udemy is a platform that allows instructors to build online courses on their preferred topics.
Using Udemy's course development tools, instructors can upload videos, source code for
developers, PowerPoint presentations, PDFs, audio, ZIP files and any other content that
learners might find helpful. Instructors can also engage and interact with users via online
discussion boards.
8
technology. Most classes are in practical subjects such as AWS and Azure
training, Excel software or using an iPhone camera. Udemy also offers Udemy Business
(formerly Udemy for Business), enabling businesses access to a targeted suite of over 7,000
training courses on topics from digital marketing tactics to office
productivity, design, management, programming, and more. With Udemy Business,
organizations can also create custom learning portals for corporate training. For smaller
companies, Udemy offers a Udemy Team Plan that is a limited seat license but identical
content to that of Udemy Business.
Courses on Udemy can be paid or free, depending on the instructor. In 2015, the top 10
instructors made more than $17 million in total revenue.
Udemy has been mentioned in The New York Times, The China Post, Fast Company,
the BBC, YPN and TechCrunch, with Mashable noting "Udemy offers an experience that
rivals the real classroom, and should prove to be a useful utility for teachers and students of
all subject matters."
In 2014, Forbes named Udemy co-founder Eren Bali as part of their "30 Under 30" of "the
brightest stars in 15 different fields under the age of 30."
In 2020, Udemy Ranked on the Annual 'Change the World' List by Fortune Magazine.
Udemy has been recognized in 2019, 2020, 2021, and 2022 as Bay Area Best Place to Work.
[45]
9
CHAPTER 1: INTRODUCTION
1.1 PURPOSE
1.2 SCOPE
Nowadays most of the people are thinking over the idea of setting their websites and they
come to this decision from different ways reaching to different destinations. The most
popular reasons that make people work over their websites either by themselves or hiring
professionals for that job, and in some cases applying both of the mentioned options is to
reach a greater audience apart from just the local people engaging with their business or for
students like us who just wants to stand out of the crowd and show-off their skills by making
an interactive website.
Scope of this website is basically to detect a face from an image which contains front-end
using react, image recognition API, has its own server using node and express and finally
contains a database as well.
10
1.3 OBJECTIVE
The main objective of this project is to analyse or detect a human’s face from any image
provided by them. First the user have to sign up on the website which is being stored in our
database and then he/she can use the face detection system provided on the page after signing
up.
Andrei is the instructor of some of the highest rated programming and technical courses
online. He is now the founder of ZTM Academy which is one of the fastest growing
education platforms in the world. ZTM Academy is known for having some of the best
instructors and success rates for students. His graduates have moved on to work for some
of the biggest tech companies around the world like Apple, Google, Tesla, Amazon, JP
Morgan, IBM, UNIQLO etc... He has been working as a senior software developer in Silicon
Valley and Toronto for many years, and is now taking all that he has learned, to
teach programming skills and to help you discover the amazing career opportunities that
being a developer allows in life.
Having been a self-taught programmer, he understands that there is an overwhelming number
of online courses, tutorials and books that are overly verbose and inadequate at teaching
proper skills. Most people feel paralyzed and don't know where to start when learning a
complex subject matter, or even worse, most people don't have $20,000 to spend on a coding
boot camp. Programming skills should be affordable and open to all. An education
material should teach real life skills that are current and they should not waste a
11
student's valuable time. Having learned important lessons from working for Fortune 500
companies, tech startups, to even founding his own business, he is now dedicating 100% of
his time to teaching others valuable software development skills in order to take control of
their life and work in an exciting industry with infinite possibilities.
Andrei promises you that there are no other courses out there as comprehensive and as well
explained. He believes that in order to learn anything of value, you need to start with the
foundation and develop the roots of the tree. Only from there will you be able to learn
concepts and specific skills (leaves) that connect to the foundation. Learning becomes
exponential when structured in this way.
Taking his experience in educational psychology and coding, Andrei's courses will take you
on an understanding of complex subjects that you never thought would be possible.
WEBSITE: https://zerotomastery.io/
TWITTER: https://twitter.com/andreineagoie
12
CHAPTER 2: SYSTEM REQUIREMENT ANALYSIS
2.1 INTRODUCTION
The purpose of the system requirements analysis is to structure the system independent of any
implementation environment. This phase can determine system behavior and limitations. The
system requirements analysis activity represents the second major development phase of the
overall process.
13
System Requirements:
The successful running of any project primarily depends upon hardware and
software used in its compilation. The hardware used in the machine should be such
that it supports the software that is to be mounted for assembling the project. This
project deals with the hardware and software, which is available readily and easy
on each and every machine given to the user.
1. The system requires the admin to sign in and register themselves first.
2. Once they have registered they need to find the image of which they want to
detect their face.
3. After finding the image they need to copy the URL of the image and paste it
on the textbox provided.
4. After copying the image into textbox click “detect”.
5. And the website will detect the face in the image for you.
PERFORMANCE REQUIREMENTS
SECURITY REQUIREMENTS
14
SAFETY REQUIREMENTS
The following tools and technologies have been used in development of this
project:
2.3.1.1 HTML5:
Web browsers receive HTML documents from a web server or from local storage
and render the documents into multimedia web pages. HTML describes the
structure of a web page semantically and originally included cues for the
appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs,
images and other objects such as interactive forms may be embedded into the
rendered page. HTML provides a means to create structured documents by
denoting structural semantics for text such as headings, paragraphs, lists, links,
quotes and other items. HTML elements are delineated by tags, written using angle
brackets.
Tags such as <img /> and <input /> directly introduce content into the page. Other
tags such as <p> surround and provide information about document text and may
15
include other tags as sub-elements. Browsers do not display the HTML tags but
use them to interpret the content of the page.
maintainer of the HTML and current maintainer of the CSS standards, has
encouraged the use of CSS over explicit presentational HTML since 1997.
2.3.1.2 CSS3:
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language such as HTML. CSS is a
cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
Separation of formatting and content also makes it possible to present the same
markup page in different styles for different rendering methods, such as on-screen,
in print, by voice (via speech-based browser or screen reader), and on Braille-
based tactile devices. CSS also has rules for alternate formatting if the content is
accessed on a mobile device.
The name cascading comes from the specified priority scheme to determine which
style rule applies if more than one rule matches a particular element. This
cascading priority scheme is predictable.
16
The CSS specifications are maintained by the World Wide Web Consortium
(W3C). Internet media type (MIME type) text/css is registered for use with CSS by
RFC 2318 (March 1998). The W3C operates a free CSS validation service for CSS
documents.
In addition to HTML, other markup languages support the use of CSS including
XHTML, plain XML, SVG, and XUL.
2.3.1.3 JAVASCRIPT:
Alongside HTML and CSS, JavaScript is one of the core technologies of the
World Wide Web. JavaScript enables interactive web pages and is an essential part
of web applications. The vast majority of websites use it for client-side page
behavior, and all major web browsers have a dedicated JavaScript engine to
execute it.
JavaScript engines were originally used only in web browsers, but they are now
embedded in some servers, usually via Node.js. They are also embedded in a
variety of applications created with frameworks such as Electron and Cordova.
17
2.3.1.4 NODE JS:
Though .js is the standard filename extension for JavaScript code, the name
"Node.js" doesn't refer to a particular file in this context and is merely the name of
the product. Node.js has an event-driven architecture capable of asynchronous I/O.
These design choices aim to optimize throughput and scalability in web
applications with many input/output operations, as well as for real-time Web
applications (e.g., real-time communication programs and browser games).
2.3.1.5 EXPRESS.JS
18
component of popular development stacks like the MEAN, MERN or MEVN stack, together
with the MongoDB database software and a JavaScript front-end framework or library.
In June 2014, rights to manage the project were acquired by StrongLoop.[7] StrongLoop was
acquired by IBM in September 2015;[8] in January 2016, IBM announced that it would place
Express.js under the stewardship of the Node.js Foundation incubator.
19
Compatible with many language grammars from TextMate Auto-save, which attempts to
prevent users from losing their work
Customizable key assignments, a navigational tool which allows users to assign hotkeys
to their choice of options in both the menus and the toolbar
Find as you type, begins to look for the text being entered as the user types without
requiring a separate dialog box
Spell-check function corrects as you type
Macros
Repeat the last action
A wide selection of editing commands, including indenting and unindenting, paragraph
reformatting and line joining
PACKAGE MANAGER
Package Control is an open source third-party package manager for Sublime Text which
allows the user to find, install, upgrade and remove plug-ins, usually without restarting
Sublime Text. The package manager keeps installed packages up-to-date with an auto-
upgrade feature and downloads packages from GitHub, BitBucket and a custom JSON-
encoded channel/repository system. It also handles updating packages cloned from GitHub
and BitBucket via Git and Hg, as well as providing commands for enabling and disabling
packages. The package manager also includes a command to bundle any package directory
into a .sublime-package file.[19]
2.3.3 DATABASE
20
2.3.3.1 POSTGRESQL
21
1. CPU: Intel core i3 3rd Generation
2. RAM: 2 GB
3. GPU: Integrated Graphics
4. Storage: 1GB
Feasibility studies aim to objectively and rationally uncover the strengths and
22
weaknesses of an existing business or proposed venture, opportunities and threats
as presented by the environment, the resources required to carry through, and
ultimately the prospects for success. In its simplest terms, the two criteria to judge
feasibility are cost required and value to be attained.
Feasibility study begins once the goals are defined. It starts by generating board
possible solutions, which are possible to give an indication of what the new system
should look like. That is where creativity and imagination are used. Analysts must
think up new ways of doing things generating new ideas. There is no need to go
into the detailed system operation yet. The solution should provide enough
information to make reasonable estimates about project cost and give users an
indication of how the new system will fit into the organization. Feasibility of a new
system means ensuring that the new system, which we’re going to implement is
efficient and affordable. There are various types of feasibility that should be taken
into consideration:
23
displays the correct result according to the moves made by the players.
4.1 INTRODUCTION
System design is the process of designing the elements of a system such as the
architecture, modules and components, the different interfaces of those
24
components and the data that goes through that system.
System Analysis is the process that decomposes a system into its component
pieces for the purpose of defining how well those components interact to
accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed
data and information about the system and its system elements to enable the
implementation consistent with architectural entities as defined in models
and views of the system architecture.
● User Registration
● Admin/User Login
Context diagrams: context diagram DFDs are diagrams that present an overview
of the system and its interaction with the rest of the “world”.
25
Level 1 data-flow diagrams: Level 1 DFDs present a more detailed view of the
system than context diagrams, by showing the main sub-processes and stores of
data that make up the system as a whole.
An ER diagram shows the relationship among entity sets. An entity set is a group
of similar entities and these entities can have attributes. In terms of DBMS, an
entity is a table of attributes of a table in a database, so by showing relationships
among tables and their attributes. ER diagram shows the complete logical structure
of a database.
26
4.4.2 DFD LEVEL – 1
27
28
29
CHAPTER 5: SYSTEM DEVELOPMENT
NAVIGATION BAR
30
LOGO
31
IMAGE LINK FORM
32
RANK
33
IMAGE RECOGNITION API (Used for face detection box and back-end as well)
34
35
36
37
SIGN IN FORM
38
39
REGISTRATION FORM
40
41
5.2 BACK-END (SERVER)
42
SETTING UP WITH THE SERVER
43
44
5.3 DATABASE (USER)
45
46
47
CHAPTER 6: SYSTEM IMPLEMENTATION
6.1 INTRODUCTION
System Implementation uses the structure created during architectural design and the results
of system analysis to construct system elements that meet the stakeholder requirements and
system requirements developed in the early life cycle phases. These system elements are then
integrated to form intermediate aggregates and finally the complete system-of-interest (SoI).
48
49
50
CHAPTER 7: SYSTEM TESTING
In system testing, integration testing passed components are taken as input. The
goal of integration testing is to detect any irregularity between the units that are
integrated together. System testing detects defects within both the integrated units
and the whole system. The result of system testing is the observed behavior of a
component or a system when it is tested.
System Testing is carried out on the whole system in the context of either system
requirement specifications or functional requirement specifications or in the
context of both. System testing tests the design and behavior of the system and
the expectations of the customer. It is performed to test the system beyond the
bounds mentioned in the software requirements specification (SRS).
51
7.2 TESTING OF SIGN UP PAGE
52
7.4 TESTING OF PROFILES
53
54
CHAPTER 8: CONCLUSION AND FUTURE SCOPE
8.1 CONCLUSION
2. The user can register themselves through the “Sign In” space and
can “login” again through the Login page.
3. Should allow users to put the URL of any image of humans and the
app will detect the face in the image provided by the user.
5. The user can always Sign Out from the application by clicking on
the “Sign Out”
This project aimed at developing an application that could detect faces in an image
provided by the user. It helps you detect whether a person is present in an image or
not. This project covered a lot of useful and informative technologies that’ll be
useful to me in my future as a developer. The project covered everything from basic
55
HTML and CSS to Advanced JavaScript, React, NodeJS, ExpressJS, PostgreSQL
and many more. The project holds very bright scope in the future as it helps you in
identifying people’s face.
56
REFERENCES
1. https://nodejs.org/docs/latest-v13.x/api/
2. https://www.w3schools.com/html/default.asp
3. https://www.w3schools.com/css/default.asp
4. https://www.w3schools.com/bootstrap/bootstrap_ver.asp
5. https://www.w3schools.com/icons/default.asp
6. https://www.w3schools.com/graphics/default.asp
7. https://www.w3schools.com/js/default.asp
8. https://www.w3schools.com/js/js_json_intro.asp
9. https://www.w3schools.com/js/js_ajax_intro.asp
10. https://docs.mongodb.com/manual/
11. https://www.geeksforgeeks.org/javascript-tutorial/
12. https://www.geeksforgeeks.org/css-tutorials/
13. https://www.geeksforgeeks.org/html-tutorials/
14. https://developer.mozilla.org/en-US/docs/Web/JavaScript
15. https://developer.mozilla.org/en-US/docs/Web/CSS
57
58