Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 34

INDUSTRIAL TRAINING REPORT

(Online Food Order)


undertaken at
(NET SOLUTIONS INDIA PVT. LTD.)

Submitted by
(Dhruv Kumar)
Roll No UE198038

Under the Guidance of

(Mr. Rajneesh Sharma)

Department of Information Technology


UNIVERSITY INSTITUTE OF ENGINEERING & TECHNOLOGY
PANJAB UNIVERSITY, CHANDIGARH

Jan 2023 to July 2023

1
Certificate By Company

2
DECLARATION

I hereby declare that the project work entitled “Online Food order” is an authentic record of my own
work carried out at “Net Solutions” as requirements of six months Industrial Training for the award of
the degree of B.E.-Information Technology at University Institute of Engineering & Technology,
Panjab University, Chandigarh under the guidance of “Mr. Rajneesh Sharma” during

(Dhruv kumar)
(UE198038)
Date: 25/05/2023

Certified that the above statement made by the student is correct to the best of my/our knowledge and
belief.

Mr. Rajneesh Sharma


Senior Technical Manager
Industry Coordinator

3
ACKNOWLEDGEMENT

I would like to express my sincere gratitude and appreciation to the Net Solutions India Pvt. Ltd.
team for allowing me to intern as an engineering intern. I am extremely grateful for the chance to
gain hands-on experience and work alongside a team of professionals in the engineering field. I
also express my appreciation to Mr. Rajnish Kumar Sharma Sr. Project Manager in Net Solution
Pvt. Ltd. for his guidance, support, and constructive feedback during my six months at Net
Solutions India Pvt. Ltd. His insight and knowledge are invaluable in my development as an
engineer, and I feel fortunate to have him as my team Manager. I sincerely appreciate and thank
Mr. Bineet Thakur, Mr. Mohan Singh, for his guidance and support throughout my internship.
His invaluable insights and expertise in the field of Dotnet are helping me learn and grow
immensely during my time at the company. I am especially grateful for his willingness to take
the time to answer my questions and offer constructive feedback on my work, which is greatly
improving my skills as a developer. I am honored to have the opportunity to work with such a
dynamic and innovative company and look forward to continuing learning and development
throughout the remainder of my internship. Lastly, I am deeply grateful to my parents, family,
and friends, who provided valuable suggestions and support to help me complete the project.

4
ABSTRACT
This internship report highlights the major works carried out by me in terms of academic and
non- academic perspective. The scope of this document is to identify and describe the analysis
carried out, projects completed, experience gained by me as an intern in the past four months
(Jan-May 2023). I’m currently doing my internship at Net Solutions India Pvt. Ltd.; Net
Solutions is a Digital Experience Agency. We help businesses worldwide with Digital Business
Transformation, Digital Product Development in the form of personalized web and mobility
solutions, and Experience Design. We are proud to count Fortune companies as clients. We have
hundreds of talented technologists and analysts working in different time zones across our global
offices in the USA, Canada, the UK, and India. I found myself lucky to get a chance to work in
such an environment that Net Solutions India Pvt. Ltd. has provided. I got introduced to some of
the new terms, new technologies and new programming languages. The tasks that I worked on
during my internship certainly helped me by increasing my practical knowledge depth. They
were very helpful to me for learning different software development frameworks.

5
Index

Sr. No. Topic Page No.

1. Front Page 1

2. Company certificate 2

3. Candidate’s Declaration 3

4. Acknowledgment 4

5. Abstract 5

6. Index 6

7. Company’s Profile 7

8. About Dotnet Technology 8-10

9. Topics covered under training 11-16

10. About The Project 17-30

11. Future Scope 31

12. References 31

6
1. INTRODUCTION
Objective
This report has been prepared as a requirement of the internship program of the degree Bachelor of
Engineering in Computer Science. The report is intended to reflect my achievements, project
involvements and professional growth during the internship period.

Scope
This report gives an insight of the experience that I got in my workspace at Net Solutions India
Private Limited.

2. COMPANY’S PROFILE

Net Solutions is a digital experience agency that helps brands leverage design, engineering and
analytics to build consumer focused products and platforms.

Established in the year 2000, we are a 400+ people strong, organization. Our clients include leading
brands like Unilever, Microsoft, Harvard Business Review, IMG, Mother-care and Euro Car Parts as
well as successful global startups.

Net Solutions has also been featured in publications of international repute like Wall Street Journal,
Economic Times, Hindustan Times, Inc. Magazine and Brandon Hall Research.

We consult, design & build your business for tomorrow's success today. Things have evolved
quickly since we launched nearly two decades ago, but here's what's stayed the same: Ambitious
businesses succeed by delivering transformative digital experiences to customers. We're the partner
you can count on for results-driven digital products & platforms.

Net Solutions is a Digital Experience Agency. We help businesses worldwide with Digital Business
Transformation, Digital Product Development in the form of personalized web and mobility
solutions, and Experience Design. We are proud to count Fortune companies as clients. We have
hundreds of talented technologists and analysts working in different time zones across our global
offices in the USA, Canada, the UK, and India.

Net solution provides services in many IT fields like Digital Customer Experience, Mobile App
Development, Software Product Development, UX/UI Design, ecommerce Development, Kentico,
Magento, Software Testing, Digital Customer Engagement, AWS and Google Cloud, Content
Management System, Cloud Consulting, Microsoft Dynamics 365, Design Consultant, Custom
Software.
7
About DOTNET Technology

ASP.NET is a free web framework for building great websites and web applications using
HTML, CSS, and JavaScript. You can also create Web APIs and use real-time technologies like
Web Sockets.

.NET is a software framework that is designed and developed by Microsoft. The first version
of the .Net framework was 1.0 which came in the year 2002. In easy words, it is a virtual
machine for compiling and executing programs written in different languages like C#, VB.Net,
etc.

ASP.NET is a part of Microsoft .NET Framework. The image shows the component stack

8
Features of .NET Framework:>

1. Cross-Language Interoperability:
Language interoperability is the ability of a code to interact with another code that is written by
using a different programming language irrespective of the language in which it is created.
Language interoperability can help maximize code reuse and improve the overall efficiency of
the development process.
2. Multi-language Support
The .NET platform supports many programming languages. A new compiler must be
implemented for each language, FrameworkV2.0 supports up to 45 languages.
3. Automatic Resource Management
In the common language runtime (CLR), the garbage collector serves as an automatic memory
manager.
The .NET Framework’s garbage collector manages the allocation and release of memory for
our application. Each time we create a new object, the common language runtime allocates
memory for the object from the managed heap.
The runtime automatically handles object layout and manages references to objects, releasing
them when they are no longer being used. This automatic memory management resolves the two
most common application errors, memory leaks and invalid memory references.
4. Type Safety
Data structure in .NET supported languages has the same layout. This means that some code can
consume types and instances declared in other languages.
5. Debugging
A debugger is a computer program that lets you run your program, line by line and examine the
values of variables or look at values passed into methods and let you figure out why it isn’t
running the way you expected it to.
6. Elimination of DLL Hell
DLL Hell happens when multiple applications attempt to share a common DLL.
.NET Framework solves this problem by allowing multiple versions of the same DLL to coexist.
7. Security
Managed components are awarded varying degrees of trust, depending on a number of factors
that include their origin (such as the Internet, enterprise network, or local computer). This
feature empowers a developer to determine whether a managed component performs file-access
operations, registry-access operations, and other sensitive functions or not.

9
Advantages of .NET Framework:

1. Multi-language support: The .NET Framework supports a variety of programming


languages, including C#, F#, and Visual Basic, which allows developers to choose the
language that best fits their needs and expertise.

2. Cross-platform compatibility: The .NET Framework can run on multiple operating


systems, including Windows, Linux, and macOS, which provides flexibility in developing
and deploying applications.

3. Large community: The .NET Framework has a large and active community of developers
who have created a wide range of resources, including libraries, tools, and documentation.

4. Security: The .NET Framework includes a variety of security features, such as code access
security and digital signatures, which can help protect applications from malicious attacks.

Disadvantages of .NET Framework:

1. Windows dependency: Although the .NET Framework can run on multiple operating
systems, it was originally designed for use on Windows operating systems, which means
that it may not be the best choice for cross-platform applications.

2. Large footprint: The .NET Framework has a large installation footprint, which can make it
difficult to deploy applications on systems with limited storage or bandwidth.

3. Licensing: Some versions of the .NET Framework require a license, which can add to the
cost of developing and deploying applications.

4. Performance: While the .NET Framework provides good performance for most applications,
it may not be the best choice for high-performance applications that require low-level access
to hardware or complex algorithms.

10
Main Topics covered under these 6 months of Training

HTML

 HTML stands for Hyper Text Markup Language


 HTML is the standard markup language for creating Web pages
 HTML describes the structure of a Web page
 HTML consists of a series of elements
 HTML elements tell the browser how to display the content
 HTML elements label pieces of content such as "this is a heading", "this is a paragraph",
"this is a link", etc.

CSS

 CSS stands for Cascading Style Sheets


 CSS describes how HTML elements are to be displayed on screen, paper, or in other
media
 CSS saves a lot of work. It can control the layout of multiple web pages all at once
 External stylesheets are stored in CSS files

JavaScript

 JavaScript is the world's most popular programming language.

 JavaScript is the programming language of the Web.

 JavaScript is easy to learn.

 JavaScript is a cross-platform, object-oriented scripting language used to make

webpages interactive (e.g., having complex animations, clickable buttons, popup menus,

etc.).

 JavaScript is a scripting language that enables you to create dynamically

11
updating content, control multimedia, animate images, and pretty much
everything else.

12
Bootstrap

 Bootstrap is the most popular HTML, CSS and JavaScript framework for developing a
responsive and mobile friendly website.
 It is absolutely free to download and use.
 It is a front-end framework used for easier and faster web development.
 It includes HTML and CSS based design templates for typography, forms, buttons,
tables, navigation, modals, image carousels and many others.
 It can also use JavaScript plug-ins.
 It facilitates you to create responsive designs.

MVC

The MVC (Model-View-Controller) is an application development pattern or design pattern


which separates an application into three main components:

1. Model
2. View
3. Controller

Model: Model is a part of the application which implements the logic for the data domain of
the application. It is used to retrieve and store model state in a database such as SQL Server
database. It also used for business logic separation from the data in the application.

View: View is a component that forms the application's user interface. It is uses to create web
pages for the application. An example would be an edit view of a Products table that displays
text boxes, drop-down lists and check boxes based on the current state of a Product object.

Controller: Controller is the component which handles user interaction. It works with the
model and selects the view to render the web page. In an MVC application, the view only
displays information whereas the controller handles and responds to the user input and
requests.

13
C#

 C# is pronounced "C-Sharp".

 It is an object-oriented programming language created by Microsoft that runs on the


.NET Framework.

 C# has roots from the C family, and the language is close to other popular
languages like C++ and Java.

 The first version was released in year 2002. The latest version, C# 11, was released in
November 2022.

SQL

 SQL stands for Structured Query Language


 SQL lets you access and manipulate databases
 SQL became a standard of the American National Standards Institute (ANSI) in 1986,
and of the International Organization for Standardization (ISO) in 1987.

What Can SQL do?

 SQL can execute queries against a database


 SQL can retrieve data from a database
 SQL can insert records in a database
 SQL can update records in a database

14
 SQL can delete records from a database
 SQL can create new databases
 SQL can create new tables in a database
 SQL can create stored procedures in a database
 SQL can create views in a database
 SQL can set permissions on tables, procedures, and views

Repository Design Pattern


Repository Pattern is an abstraction of the Data Access Layer. It hides the details of how
exactly the data is saved or retrieved from the underlying data source. The details of how the
data is stored and retrieved is in the respective repository. For example, you may have a
repository that stores and retrieves data from an in-memory collection. You may have another
repository that stores and retrieves data from a database like SQL Server. Yet another repository
that stores and retrieves data from an XML file.

LINQ
 Language-Integrated Query (LINQ) is a powerful set of technologies based on the
integration of query capabilities directly into the C# language. LINQ Queries are the
first-class language construct in C# .NET, just like classes, methods, events. The
LINQ provides a consistent query experience to query objects (LINQ to Objects),
relational databases (LINQ to SQL), and XML (LINQ to XML).
 LINQ (Language Integrated Query) is uniform query syntax in C# and VB.NET to
retrieve data from different sources and formats. It is integrated in C# or VB, thereby
eliminating the mismatch between programming languages and databases, as well as
providing a single querying interface for different types of data sources.
 For example, SQL is a Structured Query Language used to save and retrieve data from
a database. In the same way, LINQ is a structured query syntax built in C# and
VB.NET to retrieve data from different types of data sources such as collections,
ADO.Net Dataset, XML Docs, web service and MS SQL Server and other databases.

15
Entity Framework
Entity Framework was first released in 2008, Microsoft's primary means of interacting between
.NET applications and relational databases. Entity Framework is an Object Relational Mapper
(ORM) which is a type of tool that simplifies mapping between objects in your software to the
tables and columns of a relational database.

 Entity Framework (EF) is an open source ORM framework for ADO.NET which is a part of
.NET Framework.
 An ORM takes care of creating database connections and executing commands, as well as
taking query results and automatically materializing those results as your application
objects.
 An ORM also helps to keep track of changes to those objects, and when instructed, it will
also persist those changes back to the database for you.

SQL Server

 Microsoft SQL Server or MS SQL Server for short is the query language provided for
data definition and manipulation.

 SQL Server is a Relational Database Management Systems which was developed and
marketed by the Microsoft company.

 SQL and SQL servers are built as two layers where the SQL server is on the top for
interacting with the relational databases.

 MS SQL Server also has T-SQL or Transact-SQL and the main focus of T-SQL is to
handle the transactions.

 As it is a Microsoft’s developed system, it worked only on Microsoft’s environment


until it was made available on Linux platforms in the year 2016.

16
API
API is the abbreviation of the term Application Programming Interface. It is the software
responsible for the connection for the communication and information exchange between two
apps. API connects two devices or programs in order to facilitate the exchange of information
between them. It is the interface that serves the other parts of the software. The API
specifications are the standards or documents designed to describe the creation of such
connections. If a computer system meets these standards, then it is said to expose an API. The
specification or implementation both are known as the API.

In RESTful APIs, we use the HTTP verbs as actions, and the endpoints are the resources acted
upon. We’ll be using the HTTP verbs for their semantic meaning:

 GET: retrieve resources


 POST: create resources
 PUT: update resources
 DELETE: delete resources

17
About the Project
A “Food ordering system” generally has two components – a website that allows customers to
view the menu and place an order and contact to owner of the shop and give facility to pay
online and getting check the status of your order, and an admin interface that enables the
restaurant owner to receive and fulfill customer orders. Admin can see all the details of the Users
Who has log in to the website, he can add any product and category to the Menu Page
dynamically and make any changes in existing item , it is admin choice to display any item on
the user side or not and he can gave or take access from any user to use our website. Admin can
see all the contact messages if any user has contact him and he can update the status of the user’s
Orders.Proper authentication ,authorization and validations are used and a beautiful user
interface is used which makes website user friendly.

Features of Project:

User Side
 User authentication and authorization.
 Creating new account for user and login
 Displaying Menu in which food items are displayed category wise dynamically from
Admin side
 About and Contact us Page for contacting owner
 Add to cart and changing the price of the product on screen dynamically
 Placing order
 Online Payment
 Seeing Previous order and checking the status of current order
 Logout Button

Admin Side

 Admin authentication and authorization.


 Admin can View all the details of the users who has once successfully created an
account on our website.
 Admin can take and give access to any user to login into website.
 Admin can add any new category of food items on user side and edit any category and it
is his choice which category he wants to display on user side or not.

18
 Admin can add any food item or product on user side and edit any product and it is his
choice which food item he wants to display on user side or not.
 Admin can View all the details of the users who has Contacted him by filling contact us
form
 Admin can see all the food orders that he has received and he can manage it and can
update the status of the order
 Logout Button.

User Side
Login Page:

First of all, a login page will be displayed when the user will open our website. By entering his
email and password user can login into our website. If the email and password does not match
with the details of the user, then he will not be able to login and a message will be displayed to
him “Incorrect Username or Password”. Here the concept of Authentication and Authorization is
used.

If a new user visits our website, he has to create a new account on website by entering his all-
necessary details like Name, Profile-Pic, Age, Address, City, State, Country, Email, Password
and Pin-code etc. If user enter any email which already exists in our database, then he will not be
able to enter same email. Here all necessary validations are applied which helps to avoid invalid
data. By submitting all the details user’s account will be created and he will be returned back to
19
login page.

Menu Page:

After a successful login into website , In the navbar user’s name will be displayed at right
side.First of all Menu page will be displayed to the user where all the food items or products will
be visible to user that are available. Here there are different sections are made to show food
items like in first section i.e. “All” in which all kinds of products are displayed and then in

another

20
Section food items are displayed according to their categories. Here the concept of ajax is used
to display different categories of food items. Here all food items and categories are displayed
dynamically by admin which he wants to display or not. Here at every food item there is a button
to add food items in cart.

Add To Cart:

By clicking on add to cart button on any food item then the item will be added to our cart and if
the user again enter on same food item then quantity of that item is increased in cart . User can
add multiple food items on the cart . The interesting thing here is that user can increase or
decrease the quantity of food-items he had added in the cart. He/Her can also remove the the
item which he does not want to buy. Here below the price of food items is displayed
dynamically as user increase or decrease quantity of any food item , price keeps contineusly
changing and sets according the food items choosen.

Then below there is a button of “Buy Now” after clicking on it ,User will be redirected to a new
page where he will be able to see his order details and bill.

Order-Details Page:

At the Order-Details page user will be able to see all the details of the order he wants to buy.

21
Here he can see his order- id, order-bill, quantity of the food he had added and price of the
product. After this there is a button of “Pay Now” by clicking on that button user will be
redirected to payment page where he can pay for his order online.

Payment Page:

When the User click on Pay Now Button then he will be Redirected to a new page where he
can pay for his order online by using PayPal. For using PayPal, he has to login his PayPal
account by his email and Password.

22
When he successfully login, then the user will be able to pay for his order by completing the
necessary formalities.

My Orders:

When the Payment is successful, User will be redirected to “My Orders” page where he can see
his order and see the status of his order and cart becomes Empty. User can see all his/her
previous order at My orders page.

23
When the admin updates the status of the order then a change in status of the order will be
reflected here like Firstly order was “Getting Ready” and now status changes to “In-Transit” and

then changes to “Delivered”.

About Us Page:

On About us Page Information about our restaurant or website is displayed. It is a simple page to
give the user information about our website.

24
Contact Us Page:

There is a contact us page by using that user can easily contact with owner or admin. Here he
has to fill basic details of him/her like his name, email, subject and description about complaint.
By submitting complaint record will be sent to user.

Admin Side
Login Page:

25
Here we are using the same login page for admin too. We have used different role ids for user
and admin. By using the concept of authentication, the admin will be able to login from here.

There will be only one admin at this website. Admin can perform various operations on backend
that will be visible to the user-on-user side.

User-Details Page:

After successful login of admin, the first page which will be visible to the admin is user details
page where the admin can see all the users and their details who has created their account on the
website. Here admin has a functionality by using that admin can make any user active or In-
active which means that if admin makes any user In-active then that user will not be able to login
into the website because we have restricted him to use our website. We have used the concept of
searching and sorting also there. By using searching admin can search any user and by clicking
on the First-name on header admin can sort the list ascending or descending as he wants. Admin
can see details like Name, Last-name, Picture of the user, Age, Phone number and Address etc.

of the user.

Categories Page:

Next Page on Admin side is category page. In this page Admin can add a new category that he
wants to display on user side. Here the admin can add new category and he can edit any existing
category also. Admin can see all the categories that are available. It is admin choice which item
26
he wants to display on the screen or which not. For performing this action a action method is
made here in which admin can make any category active or In-active.

Whenever admin add any new category, it is binding with the food-items or products by using a
dropdown. Here we are adding a new category “Japanese”.

27
New category “Japanese” is added to the list of categories.

Products Page:

Next Page after categories is Products page. In this page Admin can add a new product that he
wants to display on user side. Here the admin can add new product and bind his category that we
are adding on categories page and he can edit any existing product also. Admin can see all the
products that are available. It is admin choice which item he wants to display on the screen or

28
which not. For performing this action a action method is made here in which admin can make
any category active or In-active. Here we have used the concept of Pagination also. Pagination is
implemented using LINQ.

Adding any food-item

Editing any food-item

29
Contacts Page:

Our Next Page is Contacts Page in which Admin can see all the list of persons who has
contacted him by filling a form. Here Admin can read all the problems and suggestions given by
the users and responds back to them accordingly.

Orders Page:

Our next page is Orders page. Here admin can see all the orders that are placed by the users.
Admin can change the status of the order i.e.; it is delivered or dispatched.

30
When the admin clicks on “Mark in Transit” it means that the order is dispatched and the status
of the order is changed on the user side to “In-Transit”. When the admin again clicks on that
the status of order to the user is updated to “Delivered” and the that order is cleared from the
admin side. That’s how this works.

Logout button:

We have used a logout button on both user side and admin side. When anyone clicks on it the
user or admin then redirected to the login page and all the cookies will be destroyed there. To go
back again there, they have to login again.

31
Conclusion
One of the key advantages of developing a food ordering website in ASP.NET is that it provides
developers with a range of tools and libraries that make it easy to build and manage the website.
For example, ASP.NET includes a built-in membership system that can be used to manage user
accounts, passwords, and roles. This can be very useful for a food ordering website, as it allows
customers to create accounts and save their order history, making it easier for them to place
future orders.

Another advantage of using ASP.NET for a food ordering website is that it is highly
customizable. Developers can use the .NET Framework to create custom modules, such as
shopping carts and checkout systems, that are tailored to the specific needs of the website.
Additionally, ASP.NET provides a range of tools for designing and styling the website, such as
Visual Studio and Visual Studio Code.

In terms of performance, ASP.NET is a highly efficient framework that can handle large
volumes of traffic. It is optimized for performance and includes features such as caching and
load balancing, which can help ensure that the website remains responsive even under heavy
loads. Additionally, ASP.NET includes support for cloud hosting, which can provide scalability
and flexibility as the website grows.

Finally, when it comes to security, ASP.NET includes a range of features that can help protect
customer data and prevent unauthorized access. For example, the framework includes built-in
encryption and authentication features, as well as support for SSL encryption and secure
communication protocols. This can help ensure that customer data is protected and that
transactions are secure.

Overall, a food ordering website developed in ASP.NET can be a powerful tool for businesses in
the food industry. It offers a range of features and capabilities that can help streamline
operations, improve the user experience, and increase customer engagement. However, as with
any website, the success of the project will depend on factors such as the quality of the
development work, the marketing strategy, and the user experience.

A food ordering website developed in ASP.NET can be a great solution for businesses in the
food industry, as it offers robust features for managing orders, menus, and customer data.
ASP.NET is a widely used framework for building web applications and provides developers
with powerful tools and libraries to create scalable and efficient websites.

32
Future Scope:
 We will host the platform on online servers to make it accessible worldwide.

 More variety of Foods can be added.

 Expand the categories with more options.

 We can add Location tracker.

 We can add Swagger Implementation there.

 We can add promo-codes for users which can be used for getting some discount on
their order value,

 We can include many more payment options like COD, By using UPI and using
Net Banking etc.

 Future scope for a food ordering website developed in ASP.NET could include
developing a mobile app or optimizing the website for mobile devices to improve
the user experience and increase engagement.

 A food ordering website developed in ASP.NET could integrate with third-party


services such as Google Maps or Yelp to provide customers with more information
about the restaurants and the surrounding area.

 As the food industry continues to grow, there is potential for a food ordering website
developed in ASP.NET to expand into new markets, such as catering or grocery
delivery.

 As new technologies such as AI, machine learning, and chatbots become more
prevalent, there is potential to integrate these technologies into a food ordering website.

33
References:
 https://learn.microsoft.com/en-us/dotnet/

 https://www.dotnettricks.com/learn/csharp

 https://www.c-sharpcorner.com/article/tips-and-tricks-of-net-and-c-sharp-and-overview-
of-Microsoft-big-data-solutions/

 https://www.c-sharpcorner.com/blogs/loop-through-model-items-in-asp-net-mvc1

 https://themewagon.com/

 https://www.tutorialspoint.com/asp.net_mvc/asp.net_mvc_data_annotations.htm

 https://www.geeksforgeeks.org/sql-tutorial/

 https://stackoverflow.com/

34

You might also like