Final
Final
A PROJECT REPORT
Submitted by
Hareshkumar Chauhan
200200107085
BACHELOR OF ENGINEERING
In
COMPUTER ENGINEERING
April - 2024
Government Engineering College
Rajkot
CERTIFICATE
This is to certify that the project report submitted along with the project entitled
Offline-Internship has been carried out by Hareshkumar Balubhai Chauhan
under my guidance in partial fulfilment for the degree of Bachelor of Engineering
in Computer Engineering, 8th Semester of Gujarat Technological University,
Ahmadabad during the academic year 2023-24.
Rajkot
DECLARATION
We hereby declare that the Internship report submitted along with the Project
entitled Offline-Internship submitted in partial fulfilment for the degree of
Bachelor of Engineering in Computer Engineering College, Rajkot to Gujarat
Technological University, Ahmedabad, is a Bonafede record of original project
work carried out by me at eSpearkBiz Technologies Pvt. Ltd. under the
supervision of Chintan Gor and that no part of this report has been directly copied
from any students’ reports or taken from any other source, without providing due
reference.
Hareshkumar Chauhan
Team Id: 418680
ACKNOWLEDGEMENT
ABSTRACT
The goal of this internship is to help you get ready for real-world projects
and the full-stack development business.
Discover how a RESTful API functions with a project and how to create
an API using the Node.js Express framework. How API is utilized at the
front end and linked to the back end.
List of Figures
Fig 1.1 Services of Company…………………………………………….……. 03
Fig 5.6 HTML and JavaScript Code for KUKU Cube ...……………….…. 29
Abbreviations
Table of Contents
ACKNOWLEDGEMENT……………………………………………………………......i
ABSTRACT…………………………………………………………………...................ii
LIST OF FIGURES……………………………………………………………………..iii
ABBREVIATIONS………………………………………………………………………v
1.3 Achievements…………………………………………………………... 03
CHAPTER 9 CONCLUSION……………………………………………………… 48
REFERENCES………………………………………………………. 49
APPENDIX 1……………………………………………………….. 50
APPENDIX 2……………………………………………………...... 75
1.1History of eSparkBiz
ESparkBiz Technologies was founded in 2003 and initially produced its own product
in the worldwide hospitality market. Following significant success and accumulating
comprehensive knowledge in product development, ESparkBiz established a distinct
branch in 2011 with the goal of advising startups, small and medium-sized
businesses, and enterprises on how to design, support, and evolve a worldwide
product that provides the best possible customer "experience."
For developers looking to outsource work, eSparkBiz is a one-stop shop. We bring
on board a group of skilled developers who have constructed projects for companies
of all sizes, including startups, small businesses, and enterprises, throughout a wide
range of business fields.
At eSparkBiz, our guiding principle is "Adding Value" to our customers and people's
growth as well as our own growth in embracing new technology and innovation. This
allows us to build and maintain world-class experiences and propel industries like
never before.
We at eSparkBiz offer solutions for a variety of industries, services, and company
structures. Its primary goals are to add value to the product, innovate, and offer the
best possible strategy.
We use our extensive industry knowledge and technological prowess to use digital
transformation to generate genuine value. Utilising their knowledge of cutting-edge
technology, our team of specialists and skilled developers makes the most significant
advancements for a variety of industries. Our group responsibly contributes to the
project's success.
The company, as previously said, is a product and service-based enterprise that develops
enterprise software for its customers. It is a product-based company that works with software
development services. Its team of highly skilled individuals handles organisation and project log
maintenance.
We advocate for improved digitalization! Our concept of offering sector-specific solutions has
spread to assist several industries, including Fintech & Insurance, Healthcare, Education, and
Real Estate.
Healthcare
Education
eSparkBiz is a specialist in using mobile apps to innovate healthcare. To enhance patient
care and oversee hospital records, we implement interactive apps and healthcare IT
consultancy.
Real Estate
Take advantage of affordable real estate and property solutions to reach a wider audience
for your business while optimising the outcome and streamlining smarter customer
communication.
1.2 ACHEIVEMENT
2. INTERNSHIP INTRODUCTION
Front-end Technologies:
o CSS: Cascading Style Sheets (CSS) is used for styling HTML elements,
enhancing the visual presentation and layout of web pages.
o Responsive Design: Responsive design ensures that web applications adapt and
display properly across various devices and screen sizes, enhancing user
experience.
Back-end Technologies:
Front-end Development:
Back-end Development:
API Integration:
Project Work:
Problem-Solving:
3. TRAINING IN MYSQL
3.1 MYSQL OVERVIEW
There exist various kinds of databases, including relational, distributed, centralized, NoSQL, and
object-oriented databases. I gained knowledge of relational databases or RDBMSs. Relational
Database Management System is referred to as RDBMS. All contemporary database systems,
including MySQL, Microsoft SQL Server, Oracle, and Microsoft Access, are built on RDBMS
technology. SQL queries are used by RDBMS to access database data. Tables are used in
relational databases to define database relationships. Based on shared data, the tables have a
relationship with one another.
In database a table is a collection of related data entries, and it consists of columns and rows.
A column holds specifies information about every record in the table. A record is each
individual entry that exits in a table.
For the job application form, I created one database. Chintan Sir produced the wireframe
for the job application form. There are various sections on a job application form,
including ones for basic information, education, work experience, languages spoken,
technologies used, references, and preferences. My job application form's er-diagram is
created using MySQL Workbench after the database is designed.
ER Diagram
The acronym for Entity Relation Model is ER diagram. A model for identifying entities
to be represented in a database and displaying the relationships between those entities is
called the Entity Relational Model. The enterprise schema specified by the ER data model
graphically depicts a database's overall logical structure. The relationships between the
entities found in the database are explained by the entity relationship diagram. Real-world
things such as people, cars, and companies, as well as the relationships between them, are
modeled using ER models. The database's structural format can be summed up as follows:
the ER Diagram.
1. Entity
2. Attributes
The characteristics that specify an entity type are called attributes. A few examples
of the properties that constitute the entity type Student are Roll No, Name, DOB,
Age, Address, and Mobile No. An oval in the ER diagram represents the attribute.
The relationship between entity kinds is represented by a relationship type. One connection type
that exists between the entity types Student and Course is "Enrolled in." The relationship type
in an ER diagram is shown as a diamond, and lines are used to connect the entities. A relationship
set is a collection of partnerships of the same kind. One to One, One to Many, Many to One, and
Many to Many are the different relationship types.
HTML (Hypertext Markup Language) is a markup language that is used to create web pages. It
is the standard language for creating web pages and web applications. HTML is used to structure
content on the web, providing a way to create headings, paragraphs, lists, links, images, and
other types of content.HTML code is written using tags, which are used to markup different
elements on the page. HTML is a foundational skill for anyone interested in web development,
and it is essential to learn the basics of HTML before moving on to other technologies. There
are many Resources available online to learn HTML, including tutorials, courses, and online
communities.
CSS stands for Cascading Style Sheets, and it is a programming language used to style and
format web pages. CSS is used in conjunction with HTML (Hypertext Markup Language) to
create visually appealing and consistent designs for websites. With CSS, web developers can
control the layout, colors, fonts, and other visual aspects of a web page. CSS allows for the
separation of content and design, making it easier to update and maintain websites.
Although websites can and often will range greatly in appearance, they all often have the
same basic elements, unless the page is playing a full-screen game or video, is a
component of an artistic endeavour, or is just poorly designed:
Header:
Usually, a big strip across the top with a big heading, logo, and perhaps a tagline. This
usually stays the same from one webpage to another.
Navigation bar:
Links to the primary portions of the website; are typically displayed as tabs, menu buttons,
or links. Similar to the header, this text is typically consistent throughout web pages;
therefore, having inconsistent navigation on your website will only cause people to
become annoyed and confused. It's not necessary for web designers to treat the navigation
bar as a component of the header rather than as a stand-alone element. In fact, some
contend that keeping the two distinct improves accessibility because screen readers can
distinguish between the two elements more easily.
Main content:
A big area in the center that contains most of the unique content of a given webpage,
for example, the video you want to watch, or the main story you're reading, or the map
you want to view, or the news headlines, etc. This is the one part of the website that
definitely will vary from page to page!
Sidebar:
A sizable section in the middle that houses the majority of the webpage's original material,
such as the news headlines, the video you want to watch, the primary narrative you're
reading, the map you want to examine, etc. The one section of the website that will
undoubtedly change from page to page is this one!
Footer:
a line that runs the length of the page and usually has contact information, copyright
warnings, or small print. It is a location for common information (such as the header), but
typically the content is neither essential or incidental to the page. Occasionally, the footer
serves an SEO function as well by offering links to widely-read material
CSS Selectors:
CSS selectors are used to select and style HTML elements. Some of the commonly used
CSS selectors include element selectors, class selectors, ID selectors, and attribute
selectors.
CSS Properties:
CSS properties are used to define the appearance of HTML elements. Some of the
commonly used CSS properties include background-color, color, font-family, font-
size, text-align, margin, padding, border, and width.
A kind of web design called responsive web design ensures that websites display well
across a variety of devices. Flexible layouts and CSS media queries are used to
accomplish this.
Accessibility:
Making a website accessible is crucial to ensuring that users with disabilities can navigate
and utilise it. This is accomplished by creating semantic, well-structured web pages that
are navigable with assistive technologies utilising HTML and CSS.
CSS Flexbox:
CSS Another layout system that lets designers make responsive and adaptable layouts is called
Flexbox. One-dimensional layout systems that support rows or columns are offered by Flexbox.
With Flexbox, designers can simply modify content sizes, construct responsive and flexible
layouts, and align and distribute content along a single axis. I now know how to utilize Flexbox
to make intricate, adaptable, and eye-catching layouts.
According to second Figma design create webpage with HTML and CSS Standard
format.
According to third Figma design create webpage with HTML and CSS Standard
format.
5.TRAINING IN JAVASCRIPT
In dynamic table generator initial 2 x 2 table. Then click on plus button add row column
and click on minus button to remove row or column.
KUKU Cube:
A game called KUKU Cube helps players perceive cubes with less opacity. The cube's size
rose by one row and column when reduced opacity was clicked. The game ends when you
click on another cube. Additionaly the game ends when the timer goes off.
A simple two-player game, tic tac toe is played on a 3 x 3 grid. Two players select "O" and
"X," respectively. Players must arrange their markers in order to create a continuous line of
three cells that runs vertically, horizontally, or diagonally.
Fig 5.5 Winner ‘X’ or ‘O’ and Draw in Tic Tac Toe
6.NodeJS Introduction
With its extensive library of modules and packages, Node.js is an open-source tool that
helps developers create sophisticated applications rapidly and effectively. Installing and
using these modules and packages in Node.js applications is a simple process, and they
are accessible via Node Package Manager (NPM).
1. Node.js Event Loop: By continuously scanning the event queue for new events and
carrying them out in a non-blocking fashion, the event loop is a fundamental idea in
Node.js that enables it to manage asynchronous tasks effectively.
2. Node.js Modules: A key idea of Node.js, modules enable developers to divide their
code into encapsulated, reusable components, which simplifies maintenance.
4. Promises - A more modern feature to Node.js, promises offer a substitute for call-
backs when managing asynchronous tasks. Promises stand for a value that might not
be available right now but will be fulfilled eventually.
Express.js is a popular web application framework for Node.js that simplifies the process
of building web applications and APIs. It provides a robust set of features for creating
server-side applications, including routing, middleware, templating, and more.
1. Routing: Express.js provides a simple and flexible API for defining routes,
allowing developers to handle incoming HTTP requests and send responses to
the client.
2. Middleware: Express.js supports middleware functions, which can be used to
modify incoming requests or outgoing responses. This makes it easy to add
functionality such as authentication, logging, and error handling to your
application.
3. Templating: Express.js supports a variety of templating engines, such as EJS,
Handlebars, and Pug, which can be used to render dynamic HTML pages.
4. Error handling: Express.js provides a built-in error handling middleware that can
catch errors and return appropriate response to the developer.
In Nodejs Express framework I make a one exercise job application form and table grid
view using various technologies like HTML, EJS template, CSS, JavaScript, AJAX,
Nodejs, for backend I will use my SQL database and express framework and so many
libraries of NodeJS.
In job application form 7 section create and out of 7 section 2 section I will create a
dynamically and all select box and radio box value render from backend and when I
needed any change or added a value that time, I only add a value in database no needed
a change in code and value render in form and I will also make grid for this form.
1. Basic Info
2. Education Details
3. Work Experience
4. Languages
5. Technologies
Gujarat Technological University 31 Government Engineering College, Rajkot
Team Id: 418680
EJS is often used in Node.js web applications, but it can also be used with other server-side
frameworks and platforms. It's lightweight and easy to use, making it a popular choice for
developers who want a simple yet powerful templating solution.
1. Embedded JavaScript: EJS allows you to embed JavaScript code directly within
your HTML templates, using <% %> tags to execute JavaScript code and <%= %>
tags to output the result of JavaScript expressions.
2. Dynamic Content: With EJS, you can easily generate dynamic content by including
JavaScript code to conditionally render elements, loop through data arrays, or
execute logic to determine the content of your templates.
3. Partial Views: EJS supports partial views, allowing you to break your views into
smaller, reusable components. This makes it easier to maintain and organize your
codebase, as you can include common components across multiple pages.
5. Integration with Node.js: EJS is commonly used with Node.js web applications, as
it integrates seamlessly with Express.js and other Node.js frameworks. It's easy to
set up and use within a Node.js environment.
For this exercise, I use ejs to develop a form that collects user data and saves it to a JSON
file. Next, get the data from the JSON file and display it in tabular form on the webpage. The
viewer can view information on a certain user by clicking the "view" button.
Pagination in node
Using pagination, a lot of data can be broken up into smaller, easier-to-manage chunks
that fit on a single page or screen. Pagination enhances the user experience by making it
easier for users to browse through data. Web applications frequently employ pagination.
In above exercise I make a grid view of 10 record using ajax and also, I make a sorting
each column either ascending or descending order.
Searching in node
In order to create the finest searching capabilities in real time, we employ an AJAX fetch
API in conjunction with a node.js and EJS searching facility.
I've used a delimiter and dynamic searching to search the data in the above figure. They
provide the greatest feature for the encounter.
In the exercise above, I used the student attendance record organised by month and added
pagination to make it simple to find the attendance of individual students.
In the example above, I used a join query to retrieve every student's outcome and show it in
tabular form. The user can examine the whole result for each student along with the subject
by clicking on examine Report.
Gujarat Technological University 37 Government Engineering College, Rajkot
Team Id: 418680
The form is a repository for user information. We display a variety of forms. Here, we create
a single employment application form that gathers user data such as name, contact
information, date of birth, address, and other basic information; education details such as
course name and percentage; knowledge of languages and technologies; work experience
details such as company details, salary, joining and leaving dates; references details such as
name and contact information; and preferences details such as desired job location, expected
salary, and all these things.
First, we create a basic form that gathers user data using HTML tags such as form, input, p,
table, tr, td, span, and many more. Next, we style the form using CSS.
I utilise two methods: the first involves sending a regular request and storing the data; the
second involves sending data to the backend, validating it, and storing it in a database using
an AJAX fetch API. I verify data from the front end and the back end simultaneously. In order
to determine gender, course name, preferred city, languages, technologies, etc., I employ
dynamically generated radio, checkboxes, and dropdown combos.
Then, we employed JavaScript and Express on the backend side. The entire form with all of
the combo boxes is first displayed using the GET API. After the user submits the form, all of
the user data is collected using the POST API. Next, a validate function is created with the
aid of middleware to verify that the input data is correct and that the error occurred. If the
data is correct, it is then stored in the database. The user can then amend the form data and
resubmit it if they entered any inaccurate or wrong information. The user can then choose to
remove one or more records if they would like to remove a specific record.
I construct a job application form; to move on to the next area, click the next button. As soon as
I hit the submit button, the frontend validation is checked to see if there are any errors. If there
are, the submit event is considered false and an error is displayed on the website.
I created a grid view of the job application form in Figure 3.8.6.2 Express Framework. When I
clicked the update button, I was able to see employee data and make changes to their information.
Fig 6.13 Backend code for next and last page of Pagination
I combined all of my internship exercises into one workout for this one. The user must log
in to this exercise to view mine. Once the person has authenticated, they can view my
exercise.
I created the registration page so that new users can sign up. Following registration, you can
confirm that email. I've only included one link for email verification; if the user copies or
clicks it, the email will be verified. The user can log in to exercise and view all exercises
after verification. I enumerate every activity and simply click to view the actions.
Developers can monitor changes to their code over time with the Git version control
system. Git allows developers to work together, make several versions of their code, and
quickly undo changes as needed. Because Git has a decentralized architecture, each
developer has a copy of the repository. Developers can work alone and then combine their
modifications later thanks to this.
GitHub is an online platform that offers Git repository hosting and collaboration tools.
Developers can work together, store their code in the cloud, and monitor problems and
issues with GitHub.
Additionally, GitHub offers a number of tools that make it simple to handle pull requests,
review and integrate changes, and automate processes. With millions of users worldwide,
GitHub has established itself as the main hub for the production of open-source software.
Installing Git on your PC and setting up a GitHub account are prerequisites for using Git
and GitHub. After completing that, you can push the newly created Git repository to
GitHub from your local computer.
After that, you can modify your code and push it to GitHub by using Git commands like
git add, git commit, and git push. In addition, you may create and manage issues, examine
pull requests, and communicate with other engineers via the GitHub web interface.
GitHub and Git are crucial resources for contemporary software development. They give
developers strong collaboration and version control tools so they can work more
productively and efficiently. Developers may increase their productivity and work with
others to create better software by learning how to utilize GitHub and Git.
9. CONCLUSION
To sum up, my internship helped me much in the development of my technical abilities and
comprehension of the software development lifecycle. I worked with a variety of web
technologies at the company, including HTML, CSS, JavaScript, Express, and Node.js,
which helped me learn and gain expertise in web development.
I got the chance to collaborate on design choices, feature implementation, testing, and
deployment with a group of engineers, designers, and product managers.
All things considered, my internship has been a great starting point for my future in software
development, particularly web development. It has given me the information and abilities I
need to keep developing as a developer and has enabled me to obtain practical experience
in a quick-paced, dynamic industry. I am appreciative that I had the chance to work with
such a gifted and committed group of people, and I know that the information and abilities
I acquired during my internship will be helpful for my future professional aspirations.
REFRENCES
https://www.w3schools.com/html/default.asp
https://nodejs.org/
https://developer.mozilla.org/
https://mdn.org
APPENDIX 1
(Weekly Dairy)
APPENDIX 2
(Feedback Form by
Industry expert)