Download as pdf or txt
Download as pdf or txt
You are on page 1of 57

AN INTERNSHIP REPORT

ON

FOOD SERVING USING


JAVA

Submitted by

JODHANI DISHANT (201080131002)

Student of

Bachelors of Engineering
in

Computer Science And Engineering

1
DECLARATION

I do hereby solemnly declare that the work presented in this Internship Report has been carried
out by me and has not been previously submitted to any other University, College, and
Organization for any academic Qualification and Certificate.

I hereby warrant that the work I have presented does not breach any existing copyright acts.

DISHANT JODHANI
Student Name

2
3
TABLE OF CONTENT

WEEK / DAY NO CONTENT PAGE NO

Declaration I

Confirmation Letter II

Completion Certificate III

WEEK 1 27JULY 2023

- Introduction Of JAVA
- 1.1 Project Summary
- 1.2 Project Purpose 1
- 1.3 Project Scope
- 1.4 Project Objectives
- 1.5 Technology Review

WEEK 1 28 JULY 2023

- Project Management
- 2.1 Software Process Model
4
- 2.1.1 Agile Model
- 2.2 Project Planning

- 2.2.1 Milestones and Deliverables

WEEK 1 31 JULY 2023

- System Analysis 8
- 3.1 Feasibility Study
- 3.1.1 Operational Feasibility
- 3.1.2 Technical Feasibility
- 3.1.3 Scheduling Feasibility
- 3.1.4 Economic Feasibility
- 3.2 Requirement Specifications
- 3.2.1 Functional Requirements
- 3.2.2 Non – Functional Requirements

4
WEEK 1 01 AUGUST 2023

- System Design 13
- 4.1 Design Methodology
- 4.1.1 Admin
- 4.1.2 Vendor
- 4.1.3 User

- 4.2 Class Digram


- 4.3 System Activity Diagram
- 4.3.1 Admin Activity Diagram
- 4.3.2 Vendor Activity Diagram
- 4.3.3 User Activity Diagram
- 4.4 Use Case Diagram
- 4.5 Sequence Diagram
19
- 4.6 Collaboration Diagram
- 4.7 Data Dictionary

WEEK 1 02 AUGUST 2023

- Testing 29
- 5.1 Testing
- 5.1.1 Testing Principles

WEEK 2 03 AUGUST 2023

- 5.2 Testing Plan 40

- 5.2.1 Functional Testing

WEEK 2 04 AUGUST 2023 , 42

- 5.2.2 Boundary Value Analysis

- 5.2.3 Structural Testing

5
WEEK 2 07 AUGUST 2023 43

- GUI

- 6.1 Screenshots

WEEK 2 08 AUGUST 2023 44

- 6.1.1 Admin

- 6.1.2 Vendor

WEEK 2 09 AUGUST 2023 45

- 6.1.3 Common user

WEEK 2 10 AUGUST 2023

- Conclusion And Reference 49


- 7.1 Conclusion
- 7.2 Reference

6
INTRODUCTION TO JAVA

Java is a class-based, object-oriented programming language that is


designed to have as few implementation dependencies as possible. It is
intended to let application developers write once, and run anywhere
(WORA), meaning that compiled Java code can run on all platforms that
support Java without the need for recompilation. Java was first released in
1995 and is widely used for developing applications for desktop, web, and
mobile devices. Java is known for its simplicity, robustness, and security
features, making it a popular choice for enterprise-level applications.

7
Food Serving Chapter 1 - Introduction

CHAPTER – 1
INTRODUCTION

1
Food Serving Chapter 1 - Introduction

1.1 Project Summary

• We create one web based application which name is food serving. We create this web application
for social services.
• In our website people can join as vendor and user.
• User can create food request if they either have extra food or need some food in they area. This
food request send to their areas vendor. If vendor capable to fulfill the food request then vendor
accept this food request otherwise vendor declined.

• Through this web application, many people they don't have food. They can get food.
• Many people want to do social service. They get one platform through this web application.

1.2 Project Purpose

• Our main purpose in creating this website is that we provide free food to the needy person.
• During many situations like COVID-19, Natural Disaster, Lockdown. In many backward area
how many people don't get food. So we create this web application for provide free food to the
needy person

• Sometimes as a social servant and NGOs do not have much food. So they can’t feed everyone
who needs it. So through this website those who have extra food can give food.

• In many places like parties, restaurants, weddings we see how much food is wasted every day in
normal life. So through this website we can give this food to the needy person

1.3 Project Scope

• In backward areas needy person get free food through this website
• Through this web application we can reduce westing of food.
• We can serve free food to the needy person by using this website.
• Also social servant & NGO get one platform for do social services.
• Many people who want to do social service they can join in this website and do a social service.

2
Food Serving Chapter 1 - Introduction

1.4 Project Objectives

• We provide functionality like user can join as public user or vendor.


• Public user can do request if they have extra food or if they need of some food.
• Vendor is accept request of food and complete it.

1.5 Technology Review

• We choose JAVA platform for backend to implement our website because we all interested to
learn java.
• Technology Specification :-
1. Front End :- HTML, CSS, JQUERY, BOOTSTRAP
2. Back End :- SPRING MVC, SPRING SECURITY, HIBERNATE, MySQL

3
Food Serving Chapter 2 - Project Management

CHAPTER – 2
PROJECT MANAGEMENT

4
Food Serving Chapter 2 - Project Management

2.1 Software Process Model

• We use AGILE MODEL for implement our project.

2.1.1 Agile Modle

• Meaning of Agile word is “Swift” or “Versatile”. Agile process model refers to a


software development approach based on iterative development.

• In this model task break into small iteration. It is not directly involve long term planning.
• The scope and requirements of the project are determined at the beginning of the
development process.

• Plans regarding the number of iterations, the duration and the scope of each iteration are
clearly defined in advance.
• Each iteration is considered as a short time "frame" in the Agile process model, which
typically lasts from one to four weeks. The division of the entire project into smaller parts
helps to minimize the project risk and to reduce the overall project delivery time
requirements.

• Each iteration involves a team working through a full software development life cycle
including planning, requirements analysis, design, coding, and testing before a working
product is demonstrated to the client.

Figure 2.1.1 - Agile Model

5
Food Serving Chapter 2 - Project Management

• Phases Of Agile Model :-


1. Requirements gathering :- In this phase, you must define the requirements. You should
explain business opportunities and plan the time and effort needed to build the project. Based
on this information, you can evaluate technical and economic feasibility.
2. Design the requirements :- When you have identified the project, work with stakeholders to
define requirements. You can use the user flow diagram or the high-level UML diagram to
show the work of new features and show how it will apply to your existing system.
3. Construction/ iteration :- When the team defines the requirements, the work begins.
Designers and developers start working on their project, which aims to deploy a working
product. The product will undergo various stages of improvement, so it includes simple,
minimal functionality.
4. Testing/ Quality assurance :- In this phase, the Quality Assurance team examines the
product's performance and looks for the bug.
5. Deployment :- In this phase, the team issues a product for the user's work environment.
6. Feedback :- After releasing the product, the last step is feedback. In this, the team receives
feedback about the product and works through the feedback.

• Agile Testing Methods:


1. Scrum
2. Crystal
3. Dynamic Software Development Method(DSDM)
4. Feature Driven Development(FDD)
5. Lean Software Development
6. eXtreme Programming(XP)

6
Food Serving Chapter 2 - Project Management

2.2 Project Planning

• Project Planning is an aspect of Project Management that focuses a lot on Project Integration. The
project plan reflects the current status of all project activities and is used to monitor and control
the project.

• The Project Planning tasks ensure that various elements of the Project are coordinated and
therefore guide the project execution. Project Planning helps in
1. Monitoring OR Measuring the project progress.
2. Facilitating communication.
3. Provide overall documentation of assumption OR planning decision.

2.2.1 Milestones and Deliverables

• Management needs information. As software is intangible, this information can only be


provided as documents that describe the state of the software being developed.

• Without this information, it is impossible to judge progress and cost estimates and
schedules cannot be updated. When planning a project series of milestones are established.

Sr. No. Activites Date

1 Study of Available System 14-08-2020


2 Project Synopsis 30-08-2020
3 Requirement Gathering 15-09-2020
4 Analysis Iteration - 1 25-09-2020
5 Analysis Iteration - 2 05-10-2020
6 Prototype 15-10-2020
7 Data Dictionary 30-10-2020
8 UML Diagram 05-11-2020
9 Desiging 10-11-2020
10 Coding 31-11-2020
Table 2.2.1 - Milestone Achieved
7
Food Serving Chapter 3 - System Analysis

CHAPTER – 3
SYSTEM ANALYSIS

8
Food Serving Chapter 3 - System Analysis

3.1 Feasibility Study

• Feasibility is a practical extent to which a project can be successful.


• To evaluate feasibility, a feasibility study is performed, which determines whether the solution
considered to accomplish the requirements is practical and workable in the software or not.

• Such information as resource availability, cost estimate for software development, benefits of the
software to organization, and cost to be incurred on its maintenance are considered. The objective
of the feasibility study is to establish the reasons for developing software that is acceptable to
users and adaptable to change.
• A feasibility study is a short, focused study, which aims to answer number of questions:
1. Does the system contribute to the overall objectives of organization?
2. Can the system be implemented using current technology and within given cost and schedule
constraints?
3. Can the system be integrated with systems which are already in place?
4. Operational Feasibility
5. Technical Feasibility
6. Scheduling Feasibility
7. Economic Feasibility

3.1.1 Operational Feasibility

• The main purpose of checking the operational facility is to find out if the system will be
operational after its development and installation.

• Is there enough support for the project from management? From users? Is there a reason
for the change? Do we have employee resistance?
• Are current business practices acceptable to users? If not, they will welcome the change.
• We will try to include as many users as possible through training to reduce the possibilities
Resistance.
• The most important evaluation is done to ensure that the proposed system will not bring
any harm or poor results in any respect or area and will not slow down the performance of
any person or organization.

9
Food Serving Chapter 3 - System Analysis

3.1.2 Technical Feasibility

• The main purpose of examining the technical feasibility is to check whether the current
technology is sufficient for the development of the system. The results of the technical
feasibility are as follows.
• We create this web application create in J2EE technology. We create responsive design for
web pages. So user can use this web application in any device and any screen size without
any problem.

• In backend we used JAVA framework like SPRING MVC, SPRING SECURITY,


HIBERNATE and MySQL for database and APACHE TOMCAT SERVER for run web
application.
• Using above JAVA framework we can provide more security, faster response and
improved website performance.

3.1.3 Scheduling Feasibility

• If a project takes longer to complete before it becomes useful, it will fail.


• Typically, this means how long it will take for the system to evolve, and if it can be
completed in a given time using some methods such as payment period.

• Given our technical expertise, is the project deadline reasonable? Some projects are started
with a specific deadline.
• You need to decide whether deadlines are mandatory or desirable.

3.1.4 Economic Feasibility

• Economic analysis can also be referred to as cost / benefit analysis.


• It is the most frequently used method for evaluating the effectiveness of a new system.
The process in economic analysis is to determine the expected benefits and savings from
the candidate system and compare the costs.

• If the expected benefits cost the same or more, the system is considered economically
feasible. Economic analysis is used to evaluate the effectiveness of the proposed system.

10
Food Serving Chapter 3 - System Analysis

• The economic feasibility will review the expected cost to see if it is consistent with the
budget being considered or if there is an acceptable return on investment in the project.

• At this point, the estimated cost will only be a rough estimate. An approximate estimate of
the project schedule is required to determine whether it is possible for the systems to
complete the project within the required time frame.

• The time frame required by the organization will need to be set.

3.2 Requirement Specifications

• In requirement specification we specify below requirement :


1. Functional Requirement
2. Non - Functional Requirement

3.2.1 Functional Requirement

• Software Requirement :-
1. MAMP Server
2. APACHE TOMCAT
3. SPRING TOOL SUITE (IDE)

• Technical Requirement
1. J2EE Technology
2. SPRING MVC
3. SPRING SECURITY
4. HIBERNATE
5. MySQL Database

3.2.2 Non - Functional Requirement

• Allow only authorised user can access some functionality of website.


• Provide instruction for accessing website and information about developer.
• Provide recovery of forgot password.

11
Food Serving Chapter 3 - System Analysis

• Simple and responsive design.


• Faster response of user request for access any functionality.
• Provide security fro user account.
• Easy to use.

12
Food Serving Chapter 4 - System Design

CHAPTER – 4
SYSTEM DESIGN

13
Food Serving Chapter 4 - System Design

4.1 Design Methodology

Our Project uses various type of modules :

Figure 4.1 - Project Module

4.1.1 Admin

• Admin manage all user.


• Admin can add or remove user
• Admin can deactivate or block any user based on complain.
• Admin can saw vendor performance report.

4.1.2 Vendor

• Vendor manage his/her profile.


• Vendor can accept or decline request of food.
• Vendor can do conversation with request sender.

4.1.3 User

• User can manage his/her profile.


• User can create food request.
• User can do conversation with vendor.
• User can do complain against vendor.

14
Food Serving Chapter 4 - System Design

4.2 Class Diagram

Figure 4.2 - Class Diagram

15
Food Serving Chapter 4 - System Design

4.3 System Activity Diagram

4.3.1 Admin Activity Diagram

Figure 4.3.1 - Admin


Activity Diagram
16
Food Serving Chapter 4 - System Design

4.3.2 Vendor Activity Diagram

Figure 4.3.2 - Vendor


Activity Diagram
17
Food Serving Chapter 4 - System Design

4.3.3 User Activity Diagram

Figure 4.3.3 - User Activity


Diagram
18
Food Serving Chapter 4 - System Design

4.4 Use Case Diagram

Figure 4.4 - Use Case


Diagram
19
Food Serving Chapter 4 - System Design

4.5 Sequence Diagram

Figure 4.5 - Sequence


Diagram
20
Food Serving Chapter 4 - System Design

4.6 Collaboration Diagram

Figure 4.6 - Collaboration


Diagram
21
Food Serving Chapter 4 - System Design

4.7 Data Dictionary


Field Name Data Type Constraint Description

It is user id for
user_id int(11) Primary
identify user
For when user
created_at datetime
created
is_active smallint(1) Default (0) User active or not
is_deleted smallint(1) Default (0) User deleted or not
email varchar(100) Unique Email ID
gender int(11) Gender
For email
is_email_verifiyed smallint(1) Default (0)
verification
For mobile
is_mobile_verifiyed smallint(1) Default (0)
verification
mobile varchar(15) Mobile number
name varchar(100) Name of user
It show vendor is
password varchar(255) Not null available for service
or not
OTP for password
password_reset_token varchar(255)
reset
password_reset_token_t For check OTP is
datetime
ime expire or not
Name of profile pic
profile_pic varchar(255)
file name
role int(11) User role
username varchar(50) Unique Username for login
Vendor available or
vendor_avilable smallint(1)
not
Table 4.7.1 - User Detail

22
Food Serving Chapter 4 - System Design

Field Name Data Type Constraint Description

r_id int(11) Primary Request id


No of person need
no_of_person int(11)
food request
request_address varchar(255) Request address
request_discription varchar(255) Request Description
request_status int(11) Status of request
request_type int(11) Request type
User id of request
user_id int(11)
creator
Food item data of
request_data varchar(255)
extra food request
User id of request
vendor_id int(11)
acceptor

Table 4.7.2 - Food Request


Detail

Field Name Data Type Constraint Description

Id int(11) Primary ID

request_id int(11) Request id


Vendor id who
user_id int(11)
decline request
Reason for request
reason varchar(255)
decline

Table 4.7.3 - Request


Decline Detail

23
Food Serving Chapter 4 - System Design

Field Name Data Type Constraint Description

Id int(11) Primary ID

request_id int(11) Request id


User id who cancel
cancel_by int(11)
request
Reason for request
cnacel_reason varchar(255)
cancel

Table 4.7.4 - Request Cancel Detail

Field Name Data Type Constraint Description

review_id double Primary Review id

request_id double Foreign Request id

review varchar(100) Review


rating int(5) Rating out of 5

Table 4.7.5 - Review & Rating Detail

Field Name Data Type Constraint Description

complain_id double Primary Complain id

complain_discription varchar(255) Description


complain_reason varchar(50) Reason
complain_date date Date

Table 4.7.6 - Complain Detail

24
Food Serving Chapter 4 - System Design

Field Name Data Type Constraint Description

issue_id double Primary Issue id

user_id double Foreign User id

issue_discription varchar(100) Description


user_email_id varchar(50) User email id

Table 4.7.7 - Issue Detail

25
Food Serving Chapter 5 - Testing

CHAPTER – 5
TESTING

26
Food Serving Chapter 5 - Testing

5.1 Testing

• Testing is a process of executing a program with the intent of finding an error. If testing is
conducted successfully, it will uncover the error in the software.

• Second, the test shows that the software works according to the software function specification
and that the operation requirements seem to have been met.

• Additionally, the data collected when the test is conducted provides some indication of software
reliability and overall software quality.
• But there is one thing that cannot be tested. Testing cannot show the absence of defects, it can
only show that software bugs are present.
• There are several objectives which are as follows :-
1. Testing is a process of executing a program with the intent of finding an error.
2. A good test case is one that has a probability of finding an as undiscovered error.
3. A successful test is one that uncovers yet undiscovered error.

5.1.1 Testing Principle

• Their are seven testing principle :-

Figure 5.1.1 - Testing


Principle

27
Food Serving Chapter 5 - Testing

1. Testing shows presence of defects: The goal of software testing is to make the software fail.
Software testing reduces the presence of defects. Software testing talks about the presence of
defects and doesn’t talk about the absence of defects. Software testing can ensure that defects
are present but it can not prove that software is defects free. Even multiple testing can never
ensure that software is 100% bug-free. Testing can reduce the number of defects but not
removes all defects.
2. Exhaustive testing is not possible: It is the process of testing the functionality of a software
in all possible inputs (valid or invalid) and pre-conditions is known as exhaustive testing.
Exhaustive testing is impossible means the software can never test at every test cases. It can
test only some test cases and assume that software is correct and it will produce the correct
output in every test cases. If the software will test every test cases then it will take more cost,
effort, etc. and which is impractical.
3. Early Testing: To find the defect in the software, early test activity shall be started. The
defect detected in early phases of SDLC will very less expensive. For better performance of
software, software testing will start at initial phase i.e. testing will perform at the requirement
analysis phase.
4. Defect clustering: In a project, a small number of the module can contain most of the
defects. Pareto Principle to software testing state that 80% of software defect comes from
20% of modules.
5. Pesticide paradox: Repeating the same test cases again and again will not find new bugs. So
it is necessary to review the test cases and add or update test cases to find new bugs.
6. Testing is context dependent: Testing approach depends on context of software developed.
Different types of software need to perform different types of testing. For example, The
testing of the e-commerce site is different from the testing of the Android application.
7. Absence of errors fallacy: If a built software is 99% bug-free but it does not follow the user
requirement then it is unusable. It is not only necessary that software is 99% bug-free but it
also mandatory to fulfill all the customer requirements.

28
Food Serving Chapter 5 - Testing

5.2 Testing Plan

• The aim of the testing process is to identify all defects existing in software Product.
• However for most practical systems, even after satisfactorily carrying out the testing phase, it is
not possible to guarantee that the software is error free.

• This is because of the fact that the input data domain of most software products is very large. It is
not practical to test the software exhaustively with respect to each value that the input data may
assume.

• Even with this practical limitation of the testing process, the importance of testing should not be
underestimated.
• It must be remembered that testing does expose many defects existing in a Software product.

5.2.1 Functional Testing

• The testing technique that is going to be used in the project is black box testing. In black
box testing the expected inputs to the system are applied and only the outputs are checked.
• The working or the other parameters of the functionality are not reviewed or tested on the
black box testing technique.

• There is a specific set of inputs for each and every module which is applied and for each
set of inputs the result or the output is verified and if found as per the system working this
testing is termed or result is declared as pass.

5.2.2 Boundary Value Analysis

• A type of programming error frequently occurs at the boundaries of different equivalence


classes of inputs.

• The reason behind such errors might purely be due to psychological factors. Programmers
often fail to see the special processing required by the input values that lie at the boundary
of the different equivalence classes. For example, programmers may improperly use <
instead of <=, or conversely <= for <. Boundary value analysis leads to selection of test
cases at the boundaries of the different equivalence classes.

29
Food Serving Chapter 5 - Testing

5.2.3 Structural Testing

• Structural testing is a type of software testing which uses the internal design of the
software for testing or in other words the software testing which is performed by the team
which knows the development phase of the software, is known as structural testing.

• Structural testing is basically related to the internal design and implementation of the
software i.e. it involves the development team members in the testing team. It basically
tests different aspects of the software according to its types.

• There are 4 types of structural testing


1. Control Flow Testing
2. Data Flow Testing
3. Slice Based Testing
4. Mutation Testing

30
Food Serving Chapter 6 - System Layout

CHAPTER – 6
SYSTEM LAYOUT

31
Food Serving Chapter 6 - System Layout

6.1 Screenshots

6.1.1 Admin

32
Food Serving Chapter 6 - System Layout

33
Food Serving Chapter 6 - System Layout

34
Food Serving Chapter 6 - System Layout

35
Food Serving Chapter 6 - System Layout

36
Food Serving Chapter 6 - System Layout

37
Food Serving Chapter 6 - System Layout

6.1.2 Vendor

38
Food Serving Chapter 6 - System Layout

39
Food Serving Chapter 6 - System Layout

40
Food Serving Chapter 6 - System Layout

41
Food Serving Chapter 6 - System Layout

42
Food Serving Chapter 6 - System Layout

6.1.3 Common User

43
Food Serving Chapter 6 - System Layout

44
Food Serving Chapter 6 - System Layout

45
Food Serving Chapter 6 - System Layout

46
Food Serving Chapter 6 - System Layout

47
Food Serving Chapter 6 - System Layout

48
Food Serving Chapter 7 - Conclusion & Reference

CHAPTER – 7
CONCLUSION AND REFERENCE

49
Food Serving Chapter 7 - Conclusion & Reference

7.1 Conclusion

• It is expected that this application will be useful for target users. With its organized and diverse
classification techniques, the application can play an important role in the online industry.

7.2 Reference

• BOOTSTRAP 4 :- https://www.w3schools.com/bootstrap4/
• SPRING MVC :- https://www.javatpoint.com/spring-mvc-tutorial
• SPRING SECURITY :- https://www.javatpoint.com/spring-security-tutorial
• HIBERNATE :- https://www.javatpoint.com/hibernate-tutorial

50

You might also like