0% found this document useful (0 votes)
37 views107 pages

Online Visa Processing System Report

The project report presents an 'Online Visa Processing System' developed by students of Late Vasant Dada Polytechnic, aimed at automating and streamlining the visa application process. It highlights the system's features, including user registration, application tracking, and secure payments, while addressing the inefficiencies of traditional methods. The report also includes a feasibility study, system design, and testing methodologies to ensure reliability and security.

Uploaded by

x3128672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views107 pages

Online Visa Processing System Report

The project report presents an 'Online Visa Processing System' developed by students of Late Vasant Dada Polytechnic, aimed at automating and streamlining the visa application process. It highlights the system's features, including user registration, application tracking, and secure payments, while addressing the inefficiencies of traditional methods. The report also includes a feasibility study, system design, and testing methodologies to ensure reliability and security.

Uploaded by

x3128672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION, MUMBAI

LATE VASANT DADA POLYTECHNIC, NAGPUR

PROJECT REPORT ON

“ONLINE VISA PROCESSING SYSTEM”

 Submitted By 
MAHESHWARI SONKUSARE
VANSHIKA BADALWAR
PUSHPA RAHANGDALE
TRUPTI CHOURE

 GUIDE 
Ms. S. G. Dixit

DEPARTMENT OF COMPUTER ENGINEERING


SESSION 2024-25
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION, MUMBAI
LATE VASANT DADA POLYTECHNIC, NAGPUR

CERTIFICATE
This is to certify that the project entitled “ONLINE VISA PROCESSING
SYSTEM” is delivered and report is

Submitted By
MAHESHWARI SONKUSARE TRUPTI CHOURE

VANSHIKA BADALWAR PUSHPA RAHANGDALE

Student of third year diploma in Computer Engineering has completed the


satisfactory in STUDY PROJECT by Maharashtra State Board of Technical

Education, Mumbai (MSBTE) during the academic year 2024 – 2025

Ms. S. G. Dixit
GUIDE

Ms. S. G. Dixit Mr. S. S. Tagalpallewar


H.O.D. Principal
(Department of Computer (Late Vasantdada Polytechnic,
Engineering) Nagpur)
EXAMINERS CERTIFICATE

This is to certify that the following students

MAHESHWARI SONKUSARE TRUPTI CHOURE

VANSHIKA BADALWAR PUSHPA RAHANGDALE

Final year diploma (Computer Engineering) 2024-2025 were examined


in the project work entitled “ONLINE VISA PROCESSING
SYSTEM” on / / 20 at LATE VASANTDADA POLYTECHNIC,

Nandanvan, Nagpur.

Signature Signature

Internal Examiner External Examiner

Date : Date :
ACKNOWLEDGEMENT

Many People have contributed in bringing this thesis to its present form. We
the projected, describe our success in this venture to our guide, Ms. S. G. Dixit
(Lect. Of Computer Engineering. Late Vasantdada Polytechnic, Nagpur). Her
endeavor for perfection indefatigable zeal, enthusiasm, foresight and innovation
contribution in big way in completing this project with a considerable ease in
stipulated time. This work is the reflection of his idea & concept and above all
sincere interest.

We are also graceful to Ms. S. G. Dixit (H.O.D) (Department Of Computer


Engineering, Late Vasantdada Polytechnic,Nagpur). The enthusiastic feedback from
her was instrumental improving the presentation and establishing our confidence in
way of project. We also thank the entire Department of Computer Engineering for
their Co-Operation.

Our sincere thanks are extended to Mr. S. S. Tagalpallewar (Principal,


Late Vasantdada Polytechnic,Nagpur) for constantly encouraging and helping us
during the course of this project. Last but not least, our thanks are extended to lab
assistant. Lecturers and our friend colleagues those who give their ideas, which
finally made our project see the light of the day.

Date: Submitted by:


Place: Nagpur
Maheshwari Sonkusare
Vanshika Badalwar
Pushpa Rahangdale
Trupti Choure
Project Report
On
Online Visa
Processing System
Abstract

The Visa Processing System is a web-based application designed to streamline and automate
the visa application process for visa processing companies. This system addresses the
inefficiencies and complexities associated with traditional manual processing, providing a
user-friendly interface for both applicants and administrators. The primary objective of the
project is to simplify the visa application workflow, enhance data management, and improve
overall operational efficiency.

The system offers a comprehensive range of functionalities, including user registration,


application submission, status tracking, and secure payment processing. It employs a robust
database management system (MySQL) to store applicant data, visa application details, and
transaction records, ensuring data integrity and security. The application leverages Java
Server Pages (JSP) for dynamic content generation and utilizes the Java programming
language for backend business logic.

In the development of this system, various software engineering methodologies were applied,
including requirements gathering, system design, implementation, testing, and user
acceptance evaluation. A series of testing phases—unit testing, integration testing, functional
testing, and performance testing—were conducted to ensure the reliability, security, and
usability of the application.

This project not only aims to enhance the efficiency of visa processing but also provides a
platform for continuous improvement through feedback mechanisms and future scalability
options. The system's architecture supports the integration of advanced features such as
mobile access, artificial intelligence, and multi-language support, positioning it as a modern
solution for the evolving needs of visa applicants and processing organizations.

In conclusion, the Visa Processing System represents a significant advancement in the


automation of visa processing, offering a valuable tool that meets the demands of today's
digital landscape while laying the foundation for future enhancements and innovations.
INDEX
Chapter 1 ……………………………………………………………………………………..1

Introduction

1.1 Aim …………………………………………………………………………………….. 2

1.2 Scope …………………………………………………………………………………... 2

1.3 Objectives ……………………………………………………………………………… 2

1.4 Features ………………………………………………………………………………... 3

Chapter 2 …………………………………………………………………………………….. 4

Literature Review

2.1 Visa Processing System ………………………………………………………………... 5

2.2 Existing System ………………………………………………………………………... 5

2.3 Proposed System ………………………………………………………………………. 5

2.4 Feasibility Study ………………………………………………………………………..6

2.5 System Architecture …………………………………………………………………… 6

2.6 Feasibility Study ………………………………………………………………………..6

2.6.1 Technical Feasibility ……………………………………………………………….7

2.6.2 Operational Feasibility ……………………………………………………………. 8

5.6.3 Economic Feasibility ……………………………………………………………… 9

2.6.4 Legal and Regulatory Feasibility ………………………………………………... 10

2.6.5 Schedule Feasibility ………………………………………………………………11

Chapter 3 …………………………………………………………………………………… 12

System Design

3.1 Data Flow Diagrams (DFD) ………………………………………………………….. 13

3.2 ER Diagram …………………………………………………………………………... 14

3.3 Activity Diagram ……………………………………………………………………... 15

3.4 Sequence Diagram …………………………………………………………………….16

3.5 Class Diagram ………………………………………………………………………. 20


Chapter 4 …………………………………………………………………………………… 26

System Analysis

4.1 Functional Requirements ……………………………………………………………...28

4.2 Non-Functional Requirements ……………………………………………………….. 30

4.3 Software and Hardware Requirements ………………………………………………..31

Chapter 5 …………………………………………………………………………………… 35

Testing

5.1 Types of Testing ……………………………………………………………………….36

5.2 Types of Testing for Visa Processing System …………………………………………38

Chapter 6 …………………………………………………………………………………… 43

Source code

Chapter 7 ……………………………………………………………………………………84

Screenshots

Chapter 8 …………………………………………………………………………………… 89

Conclusion

8.1 Conclusion …………………………………………………………………………….93

Chapter 9 …………………………………………………………………………………… 94

Future Scope

9.1 Future Scope …………………………………………………………………………..95

Chapter 10…………………………………………………………………………………...97

References
CHAPTER 1
INTRODUCTION

1
Chapter 1
Introduction
1.1 Aim
The primary goal of this project is to develop an online visa processing system that
streamlines the visa application and processing workflow for companies and clients. By
implementing automated tracking and management features, the system reduces the
dependency on manual processes, ensuring data accuracy and faster processing.

1.2 Scope
The system is designed to:

 Reduce manual work: The system automates visa processing, reducing human
errors.

 Improve accessibility: Visa applicants can track their application status online.

 Ensure security: Role-based access limits certain actions to admins only.

 Support scalability: As the number of applicants grows, the system can scale to meet
the demands.

1.3 Objectives
 Ease of Use: Provide a user-friendly interface that allows both admins and users to
perform tasks easily.

 Data Management: Implement CRUD operations for visa applications and applicant
profiles.

 Access Control: Use role-based permissions where admins have full access, and
applicants have restricted access to their data.

 Transaction Management: Handle payments for visa applications and visa


extensions.

2
1.4 Features
 Admin Features:

o Manage visa applications and applicant details.

o View and edit profiles of applicants and issue visas.

o Generate reports on visa applications.

 User Features:

o Apply for visas, check visa status, make payments, and extend visas.

o Secure login and personalized profiles.

 Security: User data is protected through encryption and role-based access control.

3
CHAPTER 2
LITERATURE
REVIEW

4
Chapter 2
Literature Review
2.1 Visa Processing System
The Visa Processing System is an online web application designed to streamline the visa
application and approval process for visa processing companies. It simplifies the way visa
applications are submitted, tracked, and processed, providing a user-friendly interface for
both administrators and applicants. The system ensures that every step of the visa process is
automated, reducing manual effort, human error, and delays associated with traditional paper-
based methods.

Though not directly tied to visa processing, the relevance of verifying the authenticity of
information in fake news detection can be applied to ensure the legitimacy of visa
applications. For example, applicants must provide valid documents, and the system should
detect fraud or discrepancies.

2.2 Existing System


Traditional visa processing involves heavy paperwork, long queues, and manual validation.
This leads to:

 Delays due to inefficiency.

 Increased chances of errors or lost documents.

 Difficulty tracking the status of applications. The existing systems lack automation,
which impacts the user experience negatively.

2.3 Proposed System


The proposed Visa Processing System automates the visa application process, making it
efficient and error-free. Key benefits of the proposed system include:

 Reduced time: Faster processing of visa applications.

 Better tracking: Applicants can easily check the status of their visa.

5
 Centralized data: All visa-related information is stored in a central database.

 Enhanced security: Secure access to sensitive applicant data with role-based control.

2.4 Feasibility Study


 Technical Feasibility: Using widely adopted technologies such as Java, JSP, and
MySQL ensures the system can be maintained and scaled as needed.

 Operational Feasibility: The system simplifies the visa application process for users
and allows admins to easily manage applications, improving overall operational
efficiency.

 Economic Feasibility: Since open-source technologies are used, the development


cost is minimized. The system’s long-term benefits outweigh the initial development
costs.

2.5 System Architecture


The architecture follows a three-tier model:

1. Presentation Layer: JSP and HTML for user interaction and displaying data.

2. Business Logic Layer: Java classes to implement business rules and interact with the
database.

3. Data Layer: MySQL for persistent storage of applicant data and visa information.

2.6 Feasibility Study


A feasibility study is a crucial step in understanding whether the proposed system is viable
and sustainable in terms of various factors such as technical, operational, and economic
aspects. Below is the detailed feasibility study for the Visa Processing System:

6
2.6.1 Technical Feasibility
Technical feasibility assesses whether the current technology is sufficient to develop and
implement the system. The Visa Processing System requires certain technological resources
to function smoothly, and we evaluate the capabilities of these technologies:

1.1 Technology Stack

 Programming Language: Java is a well-established, platform-independent, object-


oriented language suitable for building large, secure, and scalable applications like a
visa processing system.

 Web Technology: JSP (JavaServer Pages) is used for building dynamic web
applications and seamlessly integrates with Java and HTML.

 Database: MySQL is a reliable and widely used relational database that can handle
large amounts of data (applicants, visa records) efficiently.

 Server: Tomcat Server is an open-source server that can easily host Java web
applications and ensures stability and compatibility with the existing architecture.

 JConnector: Provides smooth connectivity between Java applications and MySQL,


enabling efficient data management.

7
1.2 Resources and Infrastructure

 Server Requirements: The system can run on a server with modest configurations
(4GB RAM, multi-core processor). No specialized hardware is needed.

 Scalability: The system can be scaled both vertically (by adding more resources to
the server) and horizontally (by adding additional servers) as the number of visa
applications grows.

1.3 Development Team Skills


 The development team requires proficiency in Java, JSP, HTML, CSS, MySQL, and
server management. These are common skill sets, making it easier to find resources
and support for the development and maintenance of the system.

Conclusion: The technology required to build and implement the Visa Processing
System is widely available, cost-effective, and sufficient for the system’s needs.
Therefore, the system is technically feasible.

2.6.2 Operational Feasibility


Operational feasibility determines whether the system will operate efficiently and be accepted
by the stakeholders (administrators, applicants, visa processing companies).

2.1 User Acceptance

 Admin Users: The system is designed to simplify the administrative tasks of visa
processing. Admins can manage visa applications, generate reports, and track
applicant statuses in a centralized system. This reduces manual effort and improves
accuracy, leading to higher acceptance among admins.

 Applicants: The system provides applicants with the ability to apply for visas online,
track their application status, and extend visas from the comfort of their homes. This
enhances convenience and improves the overall user experience, leading to high
acceptance.

8
2.2 Ease of Use

 User Interface: The system has a user-friendly interface developed using HTML,
CSS, and JSP. This makes it easy for both admin users and applicants to navigate and
perform required operations without extensive training.

 Accessibility: Applicants can access the system from anywhere using an internet-
enabled device, increasing operational flexibility and convenience.

2.3 Organizational Integration


 The system can integrate seamlessly with existing operational workflows of visa
processing companies. It can reduce redundancy, eliminate paperwork, and allow
efficient management of applicants and visa applications.

Conclusion: The system offers significant benefits in terms of ease of use, user
satisfaction, and operational efficiency, making it operationally feasible.

2.6.3 Economic Feasibility


Economic feasibility evaluates the cost-benefit ratio of developing and implementing the
system to determine whether the financial investment is justified.

3.1 Initial Development Cost

 Software Cost: The project uses open-source technologies like Java, JSP, MySQL,
and Tomcat, which significantly reduces licensing costs. The primary expenses will be
related to development, testing, and deployment.

 Development Team: Hiring skilled developers proficient in the required technologies


will incur labor costs. This is typically a one-time cost during the development phase.

3.2 Ongoing Operational Costs

 Maintenance: The system will require periodic maintenance to fix bugs, improve
performance, and introduce new features.

 Server Hosting: The cost of server hosting (cloud or on-premises) will depend on the
volume of users and applications. Initial hosting costs can be kept low and increased
based on system usage.

9
 Training: Minimal training will be required for administrators, given the intuitive
nature of the system’s interface.

3.3 Long-Term Benefits

 Cost Savings: The system eliminates the need for manual processing, paper-based
records, and physical tracking of applications. This reduces administrative overhead
and operational costs over time.

 Revenue Generation: Visa processing companies can charge applicants fees for
online visa submissions, status tracking, and other services. This provides a new
revenue stream.

 Improved Efficiency: The system automates several processes, reducing human error
and processing time, leading to higher throughput and customer satisfaction.

Conclusion: The initial development and ongoing operational costs are justified by the
significant savings and revenue potential over the long term, making the project
economically feasible.

2.6.4 Legal and Regulatory Feasibility


Legal and regulatory feasibility examines if the system complies with government
regulations, privacy laws, and data protection guidelines.

4.1 Data Privacy and Security

 Role-based Access Control: The system enforces strict access control policies,
ensuring that only authorized personnel (admins) can access sensitive applicant data.

 Data Encryption: Personal information, passport details, and payment information of


applicants are encrypted during transmission and storage to comply with data
protection regulations.

 Compliance with Visa Regulations: The system aligns with standard visa application
procedures and can be customized to comply with the specific visa policies of
different countries.

10
 4.2 Legal Framework

 The system is built to comply with national and international laws regarding digital
transactions, data protection, and privacy, such as the General Data Protection
Regulation (GDPR) and Information Technology Act, 2000 (India).

Conclusion: The system meets legal requirements for data privacy and security, making
it legally feasible.

2.6.5 Schedule Feasibility


Schedule feasibility determines whether the system can be developed and implemented
within a reasonable time frame.

5.1 Development Timeline


 Requirement Gathering: 2-3 weeks

 System Design: 4 weeks

 Implementation: 6-8 weeks

 Testing and Bug Fixing: 4-6 weeks

 Deployment: 1 week

 Total Estimated Time: Approximately 4 to 5 months for full development, testing,


and deployment.

5.2 Project Management

 The development can be managed using an Agile Methodology, which allows for
iterative progress, regular feedback, and continuous improvement throughout the
development cycle.

Conclusion: The estimated timeline is reasonable for the scope of the project, making
the project schedule feasible.

11
Conclusion of the Feasibility Study

Based on the analysis of technical, operational, economic, legal, and schedule feasibility, the
Visa Processing System is highly feasible. It offers significant benefits to both visa
processing companies and applicants, improves operational efficiency, and is a cost-effective
solution for managing visa applications.

12
CHAPTER 3
SYSTEM DESIGN

13
Chapter 3
System Design

3.1 Data Flow Diagrams (DFD)


A Data Flow Diagram (DFD) is used to represent the flow of data within a system,
illustrating how information moves from one process to another, where data is stored, and
how the system interacts with external entities. For the Visa Processing System, the DFD
provides a graphical representation of the system’s major functions, data flows, and data
stores. Below is a detailed description of the different levels of the DFD.

14
o DFD 0 (Context Diagram): Represents the entire system at a high level. It shows
interactions between the applicant, the admin, and the system’s database.

 DFD 1 (Admin Module): Breaks down the admin’s actions, such as logging in,
managing visa applications, issuing visas, and viewing applicant details.

 DFD 2 (User Module): Details user interactions with the system, including applying
for visas, tracking visa status, and making payments.

3.2 ER Diagram
An Entity-Relationship (ER) diagram shows the relationships between entities such as
Applicants, Visa Applications, and Visa Issues. The relationships describe how applicants
submit visa applications, which are then processed by admins.

15
The ER diagram of the Visa Processing System is designed to provide a detailed, logical
view of how the system’s entities are connected, focusing on the relationships and
interactions between applicants, admins, visa applications, visa issuances, and payments. By
representing the relationships and data dependencies through the ER diagram, we ensure that
the database structure efficiently handles the system’s data storage and retrieval processes.

 The Applicant entity stores all user details and is linked to multiple visa applications.

 The Visa Application entity contains the core application data and connects to both
payments and visa issuance.

 The Payment and Visa Issuance entities store transaction and visa issuance data,
respectively, ensuring proper tracking of visa processing.

3.3 Activity Diagram


The activity diagram depicts the flow of actions in a process, such as the steps required to
apply for a visa. It shows how the system moves from one state to another, such as from an
application submission to visa approval.

16
3.4 Sequence Diagram
A Sequence Diagram is a type of UML diagram that shows how objects interact with each
other in a particular sequence over time. In the context of the Visa Processing System, this
diagram depicts the interaction between the system's key entities — the applicant, admin, and
the system — as they perform various tasks in the visa application process.

Key Components of the Sequence Diagram

1. Objects (Lifelines):

o Applicant: The user who applies for the visa.


o Admin: The system administrator who manages visa applications.
o System: The visa processing system that handles the backend logic and data
processing.

2. Messages:

o These are the interactions (or communications) between the objects.


o Arrows indicate the direction of messages and actions between objects.

3. Lifelines:

o Vertical dashed lines represent the lifetimes of the objects. Each object’s activity over
time is shown from top to bottom.
o Objects remain active as long as they are involved in the process.

4. Activations:

o Narrow rectangles along the lifelines show when an object is performing a particular
task or action.

17
Step-by-Step Explanation of the Sequence

1. Applicant Logs In

 The diagram begins with the Applicant sending a Login request to the System.

 The System validates the credentials and responds with a Login Success or Login
Failure message.

 If the login is successful, the Applicant proceeds to the next step.

2. Submit Visa Application

 After logging in, the Applicant submits the visa application by sending a Submit
Visa Application request to the System.

 The System validates the application data, ensuring all required fields are filled and
documents are uploaded.

 If validation passes, the system stores the visa application in the database and sends
an acknowledgment back to the Applicant.

18
3. Admin Reviews Visa Application

 The Admin logs into the System and views the list of pending visa applications.

 The Admin selects a specific application to review and sends a Review Visa
Application message to the System.

 The System retrieves the visa application details from the database and displays them
to the Admin.

4. Admin Approves/Rejects Application

 After reviewing the application, the Admin decides whether to approve or reject it.

 The Admin sends either an Approve Application or Reject Application message to


the System.

 The System updates the status of the visa application based on the admin’s decision.

5. Notify Applicant of Decision

 Once the System updates the visa application status, it sends a Visa Application
Decision notification to the Applicant.

 The Applicant can log in to the system and check the current status of their visa
application.

6. Visa Issuance (Approved)

 If the application is approved, the System generates the visa document and sends a
Visa Issued message to the Applicant.

 The Applicant can then download or view their visa.

Key Transitions and Interactions


1. Login Validation:

o The first interaction occurs when the Applicant logs into the system. If the
credentials are valid, the process continues; otherwise, the Applicant is
prompted to try again.

2. Application Submission:

o The Applicant submits the visa application, and the System validates and
stores the application data.

19
3. Admin Review:

o The Admin plays a crucial role in reviewing applications. The decision to


approve or reject an application initiates the next steps in the process.

4. Status Update:

o The System updates the visa status based on the admin’s decision and notifies
the Applicant of the outcome.

Conclusion

The Sequence Diagram for the Visa Processing System clearly illustrates the interactions
between the applicant, admin, and system. It shows the step-by-step process of logging in,
submitting an application, reviewing and approving/rejecting the application, and notifying
the applicant of the decision. The diagram emphasizes the sequential nature of these
operations and how each action triggers the next one in the system.

The sequence diagram illustrates the interaction between system components over time. For
example, it shows how a user applies for a visa, how the system processes it, and how the
admin approves or rejects the application.

3.5 Class Diagram


The class diagram defines the classes used in the system, such as Applicant, VisaApplication,
Admin, and their attributes and methods. It shows how these classes interact with each other.

A Class Diagram is a UML diagram that represents the static structure of a system by
illustrating its classes, their attributes, methods (functions), and the relationships between
them. In the context of the Visa Processing System, the class diagram shows how different
entities (such as Applicants, Admins, Visa Applications, etc.) are structured and how they
interact with each other.

Key Classes and Their Descriptions

1. Applicant

o Attributes:

 applicantID: Unique identifier for the applicant.


 name: Full name of the applicant.
 email: Applicant's email address for communication.

20
 passportNumber: Applicant’s passport number.
 contactDetails: Applicant’s phone number and address
 visaApplicationStatus: Current status of the applicant’s visa
application (e.g., Pending, Approved, Rejected).
o Methods:

 login(): Allows the applicant to log into the system.

 submitVisaApplication(): Submits a new visa application.

 trackVisaStatus(): Allows the applicant to check the current status of


their application.

 makePayment(): Handles the payment for the visa application.

21
2. Admin

o Attributes:

 adminID: Unique identifier for the admin.

 name: Full name of the admin.

 email: Admin’s email address for internal communication.

 contactDetails: Admin's phone number and address.

o Methods:

 login(): Allows the admin to log into the system.

 reviewVisaApplication(): Admin reviews submitted visa applications.

 approveApplication(): Marks the visa application as approved.

 rejectApplication(): Marks the visa application as rejected.

 issueVisa(): Issues a visa once an application is approved.

 generateReports(): Creates reports related to visa applications, statuses,


etc.

3. VisaApplication

o Attributes:

 applicationID: Unique identifier for the visa application.

 applicantID: Foreign key reference to the Applicant class.

 applicationDate: Date when the visa application was submitted.

 visaType: The type of visa applied for (e.g., Tourist, Work, Study).

 status: Current status of the visa application (e.g., Pending, Approved,


Rejected).

 documents: List of documents uploaded by the applicant (e.g., passport


copy, visa forms).

22
o Methods:

 validateApplication(): Validates the completeness and correctness of


the application.

 updateStatus(): Updates the application status based on admin's


decision (Approved/Rejected).

 getApplicationDetails(): Retrieves all details of the visa application for


admin review.

4. Visa

o Attributes:

 visaID: Unique identifier for the issued visa.

 applicantID: Foreign key reference to the Applicant class.

 issueDate: Date the visa was issued.

 expiryDate: Date the visa will expire.

 visaType: Type of visa issued (same as applied).

o Methods:

 generateVisa(): Generates the visa document for the applicant after


approval.

 extendVisa(): Extends the visa’s expiry date if needed.

 getVisaDetails(): Retrieves visa details for the applicant or admin to


view.

5. Payment

o Attributes:

 paymentID: Unique identifier for each payment.

 applicantID: Foreign key reference to the Applicant class.

 amount: The total amount paid for the visa application.

 paymentDate: Date of payment transaction.

23
 paymentStatus: Status of the payment (e.g., Completed, Pending,
Failed).

o Methods:

 processPayment(): Handles the processing of the visa application fee.

 verifyPayment(): Verifies whether the payment was successful or not.

 getPaymentDetails(): Retrieves payment details associated with the


application.

6. Reports

o Attributes:

 reportID: Unique identifier for each report.

 adminID: Foreign key reference to the Admin class.

 reportDate: Date when the report was generated.

 reportType: Type of report (e.g., application summary, issued visas,


rejected applications).

 reportData: Detailed data included in the report.

o Methods:

 generateReport(): Generates a report based on the selected criteria.

 getReportDetails(): Retrieves the details of a generated report.

Relationships between Classes


1. Applicant-Admin Relationship:

o There is no direct interaction between the Applicant and Admin classes, but
they both interact with the VisaApplication class.

o The Applicant submits a visa application, while the Admin reviews and
manages the application.

24
2. Applicant-VisaApplication Relationship:

o The Applicant class has a one-to-many relationship with the VisaApplication


class. Each applicant can submit multiple visa applications over time, but each
visa application belongs to only one applicant.

3. Admin-VisaApplication Relationship:

o The Admin class has a one-to-many relationship with the VisaApplication


class. An admin can manage multiple visa applications and perform actions
such as approval, rejection, and issuance of visas.

4. VisaApplication-Visa Relationship:

o There is a one-to-one relationship between VisaApplication and Visa classes.


For each approved visa application, one visa is issued.

5. Applicant-Payment Relationship:

o The Applicant class has a one-to-many relationship with the Payment class.
Each applicant can make multiple payments (for different applications or re-
applications), but each payment is linked to one visa application

6. Admin-Reports Relationship:

o The Admin class has a one-to-many relationship with the Reports class. Each
admin can generate multiple reports based on visa processing activities, but
each report is associated with a specific admin who generated it.

Class Diagram Summary

 The Applicant class handles user-specific actions like registration, login, and visa
application submission.

 The VisaApplication class serves as the core entity, storing all relevant details about
each visa application, including documents, status, and type.

 The Admin class is responsible for reviewing and managing visa applications,
approving or rejecting them, and issuing visas.

25
 The Visa class handles the actual visa document generation, linking it to the
applicant’s approved visa application.

 Payment is an essential part of the system, ensuring that all visa applications are paid
for and properly tracked.

 Reports allow the admin to monitor and analyze the visa processing workflow.

26
CHAPTER 4
SYSTEM
ANALYSIS

27
Chapter 4
System Analysis

System analysis is a critical phase in the software development life cycle (SDLC), where the
functional and non-functional requirements are gathered, analyzed, and documented. It
provides an in-depth understanding of how the system will work to meet the needs of its
users, focusing on both the system's functionality and its architecture.

In the Visa Processing System, the system analysis helps to determine what the system
should do, the constraints under which it operates, and the resources required to build and run
the system.

4.1 Functional Requirements


Functional requirements define what the system should do. They specify the expected
behaviours, actions, and tasks the system should perform to meet user and business needs.
For the Visa Processing System, these are categorized based on the two main types of users:
Applicant and Admin.

Applicant Functional Requirements:

 Register/Login: The system must allow applicants to register with their details and
log in to the system using a valid username and password.

 Submit Visa Application: The system must enable applicants to fill out visa
application forms, upload required documents, and submit them for processing.

 Track Visa Application Status: The applicant must be able to view the current status
of their application (e.g., Pending, Approved,Rejected).

 Make Payment: The system should provide an interface for applicants to pay the
application fees through a secure payment gateway.

 Edit Profile: Applicants should be able to view and update their personal details such
as contact information.

 View Visa Decision: The system should notify applicants about the visa decision and
allow them to view or download the issued visa if approved.

28
 Extend Visa: If the visa has an extension option, the applicant should be able to apply
for an extension.

Admin Functional Requirements:

 Admin Login: Admin users must log in using a secure system to manage visa
applications.

 Review Visa Applications: The system must allow admins to view all submitted
applications and review the attached documents.

 Approve/Reject Applications: Admins must have the authority to approve or reject


visa applications based on their review.

 Issue Visa: After approval, the system should generate and issue a visa document that
is accessible to both the applicant and admin.

 Manage Visa Applications: Admins should be able to add, delete, edit, and view visa
applications and their statuses.

 Generate Reports: Admins must be able to generate reports on visa applications, visa
issuances, rejections, and overall system performance.

 Manage Applicants: The admin should have access to view and manage applicant
details if required.

The key functionalities provided by the system include:

 Admin:

o Login and manage visa applications, issue visas, and generate reports.

o View and edit the profile of any applicant.

 Applicant:

o Login, apply for a visa, check application status, and make payments.

29
4.2 Non-Functional Requirements
Non-functional requirements specify how the system performs certain functions, such as
performance, security, scalability, and usability. These requirements often influence the
design and architecture of the system.

Performance:

 The system must handle multiple visa applications concurrently without performance
degradation.

 It should support multiple simultaneous user sessions, especially during peak times,
such as application deadlines or holidays.

Security:

 The system must ensure secure login with encryption of sensitive data (passwords,
applicant information).

 All visa-related documents and personal data should be stored securely with access
control, ensuring only authorized users (admins) can view or modify sensitive
information.

 Secure payment processing must be implemented to prevent unauthorized access or


data breaches during financial transactions.

Usability:

 The system should have an intuitive and user-friendly interface for both applicants
and admins.

 The system should provide appropriate feedback (e.g., error messages, confirmations)
for user actions such as form submissions, payment transactions, and profile updates.

Scalability:

 The system must be scalable to handle an increasing number of visa applications,


applicants, and users over time.

 The database and server should be able to expand as the number of users grows,
without requiring major system overhauls.

30
Availability:

 The system should be available 24/7 to allow users to submit applications and track
visa status at any time.

 There should be backup and recovery mechanisms to prevent data loss in case of
system failures.

Maintainability:

 The system should be designed with maintainability in mind, allowing for future
upgrades, bug fixes, or enhancements without major disruptions to the system.

 It should allow developers to easily update or modify features as required.

Reliability:

 The system should consistently process visa applications and payments correctly
without errors.

 The visa application tracking and status updates should be reliable and accurate.

4.3 Software and Hardware Requirements

Software Requirements:

 Operating System: Windows/Linux/Mac OS.

 Programming Language: Java (Backend), JSP (Frontend).

 Web Server: Apache Tomcat for hosting the web application.

 Database: MySQL for storing applicant data, visa applications, payment records, and
visa statuses.

 JDBC (Java Database Connectivity): JConnector for connecting Java applications


to the MySQL database.

 Development Environment: Eclipse or IntelliJ IDEA for Java development.

 Version Control: Git for version control and collaboration among developers.

31
Hardware Requirements:

 Processor: Intel i5 or equivalent (for development and deployment).

 RAM: Minimum 8 GB for development purposes and running the server efficiently.

 Storage: At least 500 GB of hard disk space for data storage and system files.

 Network: Internet connectivity for the web-based application to be accessible to users


worldwide.

4.4 Software Development Life Cycle (SDLC)


For the Visa Processing System, the software development process follows the Agile SDLC
model, which emphasizes iterative development, collaboration, and feedback-driven
improvements. Here's a breakdown of each phase:

1. Requirement Gathering and Analysis:

 Collecting functional and non-functional requirements from stakeholders such as visa


agencies and applicants.

 Creating detailed project documentation for use by the development team.

2. System Design:

 Creating architecture diagrams (like class diagrams, data flow diagrams) to outline
how the system components will interact.

 Designing the user interface for applicants and admins.

3. Implementation:

 Developing the system using Java, JSP for frontend and backend logic.

 Setting up the MySQL database and integrating it with the system using JConnector.

 Implementing role-based access control to restrict actions based on user roles (admin,
applicant).

32
4. Testing:

 Testing the system for functionality (functional testing), security, and performance.

 Conducting user acceptance testing (UAT) with real-world users to ensure the system
meets expectations.

5. Deployment:

 Deploying the system on an Apache Tomcat server.

 Making the system accessible to visa applicants and admins via a web interface.

33
6. Maintenance:

 Regular system updates, bug fixes, and performance improvements based on user
feedback and changing business needs.

Conclusion
The system analysis phase for the Visa Processing System outlines both functional and non-
functional requirements essential for successful system operation. The detailed examination
of the software and hardware needs, along with a clear SDLC process, ensures the
development of a reliable, secure, and scalable system to handle visa applications and
streamline visa processing effectively.

34
CHAPTER 5
TESTING

35
Chapter 5
Testing

System testing is a crucial phase in the software development life cycle (SDLC) where the
complete and integrated software system is evaluated to ensure that it meets the specified
requirements and functions correctly in all expected scenarios. For the Visa Processing
System, testing involves validating both the functional and non-functional aspects of the
system to ensure its reliability, performance, and security.

5.1 Types of Testing

36
Testing Phases

1. Test Planning

o Develop a detailed test plan that outlines testing objectives, scope, resources,
schedules, and risk management strategies.

o Define testing criteria for success and failure.

2. Test Case Design

o Create detailed test cases that specify the input, execution steps, and expected
results for each functionality.

o Prioritize test cases based on critical functionalities and business requirements.

3. Test Execution

o Execute the test cases in a controlled testing environment.

o Document results and log any defects or issues found during testing.

4. Defect Reporting

o Categorize and prioritize defects based on severity and impact on the system.

o Communicate findings to the development team for resolution, tracking the


status of defect fixes.

5. Retesting and Regression Testing

o Retest resolved defects to ensure that fixes are effective and that no new issues
have been introduced.

o Conduct regression testing to validate that previously working functionalities


remain unaffected by recent changes.

6. User Acceptance Testing (UAT)

o Involve actual users (applicants and admins) in testing to ensure the system
meets their needs and expectations.

o Gather feedback on usability and functionality, making adjustments as needed


before the final deployment.

37
Testing Tools

 Test Management Tools: Tools like JIRA or TestRail for managing test cases,
defects, and progress tracking.

 Automation Tools: Tools like Selenium or JUnit for automating functional tests,
especially for repetitive tasks.

 Performance Testing Tools: Tools like Apache JMeter for testing the performance
and scalability of the system under various load conditions.

 Security Testing Tools: Tools like OWASP ZAP for identifying vulnerabilities and
security issues in the application.

Conclusion

System testing is essential for ensuring that the Visa Processing System operates correctly,
securely, and efficiently. By employing a combination of strategic, black box, white box, and
grey box testing techniques, the team can identify and address potential issues before the
system goes live. Thorough testing not only ensures a reliable application but also enhances
user satisfaction and trust in the system.

5.2 Types of Testing for Visa Processing System


Testing is an essential part of the software development life cycle (SDLC) that ensures the
developed application meets the specified requirements and functions correctly. Below are
the key types of testing relevant to the Visa Processing System, each with its own objectives
and methodologies.

1. Unit Testing

 Definition: Unit testing involves testing individual components or modules of the


software in isolation to ensure that they function as intended.

 Objectives:

o Verify that each unit of code (e.g., functions, methods, or classes) performs as
expected.

o Identify and fix bugs at the earliest stage, which reduces the cost of fixing
defects later in the development process.

 Tools: JUnit (for Java), TestNG.

38
 Example: Testing the submitApplication() method of the Visa Application class to
ensure it correctly handles valid and invalid inputs.

2. Integration Testing

 Definition: Integration testing focuses on verifying the interaction between different


components or modules of the system.

 Objectives:

o Identify interface defects and integration issues between different parts of the
application.

o Ensure that combined modules function together as expected.

 Types:

o Top-Down Integration Testing: Testing from top-level modules to lower-


level modules.

o Bottom-Up Integration Testing: Testing from lower-level modules to top-


level modules.

 Example: Testing the interaction between the applicant registration module and the
database to ensure data is correctly stored and retrieved.

3. Functional Testing

 Definition: Functional testing evaluates the application against the functional


requirements to ensure it behaves as expected.

 Objectives:

o Verify that all functions of the application work according to specifications.

o Validate user interactions and system outputs.

 Types:

o Smoke Testing: A preliminary test to check the basic functionalities of the


system.

o Sanity Testing: Ensuring that specific functionalities work after changes.

39
 Example: Testing the visa application submission process to ensure all required fields
are validated and error messages are displayed for invalid inputs.

4. System Testing

 Definition: System testing involves testing the complete and integrated application to
validate its compliance with the specified requirements.

o Objectives:

o Ensure the system as a whole functions correctly and meets all requirements.

o Validate non-functional aspects such as performance, security, and usability.

 Types:

o End-to-End Testing: Testing the entire application flow from start to finish.

o Regression Testing: Ensuring that new changes do not adversely affect


existing functionalities.

 Example: Testing the full visa application process from submission to approval,
including payments and notifications.

5. User Acceptance Testing (UAT)

 Definition: UAT is the final testing phase where actual users validate the system
before it goes live.

 Objectives:

o Ensure that the system meets user needs and expectations.

o Validate the application's usability, functionality, and overall user experience.

 Types:

o Alpha Testing: Conducted by internal teams within the organization.

o Beta Testing: Conducted by a limited group of external users in a real-world


environment.

 Example: Allowing a group of visa applicants to use the system and provide feedback
on their experience.

40
6. Performance Testing

 Definition: Performance testing evaluates the system's responsiveness, speed,


scalability, and stability under various load conditions.

 Objectives:

o Ensure that the application can handle expected user loads.

o Identify performance bottlenecks and areas for optimization.

 Types:

o Load Testing: Testing the system's performance under expected load


conditions.
o Stress Testing: Testing the system beyond normal operational capacity to see
how it behaves under extreme conditions.

 Example: Simulating multiple users submitting visa applications simultaneously to


assess system performance and response times.

7. Security Testing

 Definition: Security testing aims to identify vulnerabilities and weaknesses in the


system to ensure data integrity and confidentiality.

 Objectives:

o Protect sensitive data (e.g., applicant information, payment details) from


unauthorized access or breaches.

o Validate security measures, such as authentication and authorization.

 Types:

o Penetration Testing: Simulating attacks to identify potential security risks.

o Vulnerability Scanning: Using automated tools to identify security


vulnerabilities.

 Example: Testing the application for SQL injection vulnerabilities during user
registration and visa application submission.

41
8. Regression Testing

 Definition: Regression testing involves retesting the application after changes (such
as bug fixes or new features) to ensure existing functionalities remain unaffected.

 Objectives:

o Confirm that recent code changes have not introduced new bugs or negatively
impacted existing functionalities.

o Maintain system reliability throughout the development process.

 Example: Re-running functional tests for the visa application submission after
making changes to the payment processing module.

9. Smoke Testing

 Definition: Smoke testing is a preliminary test conducted to check the basic


functionality of the application.

 Objectives:

o Determine if the build is stable enough to proceed with more in-depth testing.
o Quickly identify major issues that could prevent further testing.

 Example: Testing core features such as login, application submission, and basic
navigation to ensure they work as expected after a new build.

Conclusion

In conclusion, various types of testing are essential to ensure the Visa Processing System is
reliable, secure, and meets the needs of its users. By implementing a comprehensive testing
strategy that includes unit testing, integration testing, functional testing, system testing, UAT,
performance testing, security testing, regression testing, and smoke testing, the development
team can deliver a high-quality product that functions correctly in real-world scenarios.

42
CHAPTER 6

SOURCE CODE

43
Home [Link]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

div.div2{

margin-top: -938px;

position: absolute;

margin-left: 1080px;

table.table1{

width: 300px;

align: right;

#link_line{

text-decoration: none;

font-size: 28px;

44
}

.sidenav {

height: 100%;

width: 0;

position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

.sidenav a {

padding: 8px 8px 8px 32px;

text-decoration: none;

font-size: 25px;

color: #818181;

display: block;

transition: 0.3s;

.sidenav a:hover {

color: #f1f1f1;

.sidenav .closebtn {

45
position: absolute;

top: 0;

right: 25px;

font-size: 36px;

margin-left: 50px;

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

#button {

border: none;

color: white;

padding: 15px 32px;

text-align: center;

text-decoration: none;

display: inline-block;

font-size: 16px;

margin: 4px 2px;

cursor: pointer;

legend {

display: block;

padding-left: 2px;

padding-right: 2px;

border: none;

46
}

</style>

</head>

<body>

<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<div class="div2">

<table align="right" class="table1">

<tr>

<td><a href="[Link]" id="link_line" ><b><font color="white">Log


in</font></b></a></td>

<td><a href="[Link]" id="link_line" ><b><font


color="white">Register</font></b></a></td>

</tr>

</table>

</div>

<div style="margin-top: -968px;margin-left: 530px;position: absolute;width: 300px">

47
<a href="[Link]" id="link_line"><p><font face="verdana" color="white">eVISA
INDIA</font></p></a>

</div>

<div id="mySidenav" class="sidenav">

<div style="padding-left: 50px">

<input type="image" src="[Link]" width="50px">

</div>

<br><br><br>

Register User .jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

48
}

div.div2{

margin-top: -938px;

position: absolute;

margin-left: 1080px;

table.table1{

width: 300px;

align: right;

#link_line{

text-decoration: none;

font-size: 28px;

.sidenav {

height: 100%;

width: 0;

49
position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

.sidenav a {

padding: 8px 8px 8px 32px;

text-decoration: none;

font-size: 25px;

color: #818181;

display: block;

transition: 0.3s;

.sidenav a:hover {

color: #f1f1f1;

.sidenav .closebtn {

position: absolute;

50
top: 0;

right: 25px;

font-size: 36px;

margin-left: 50px;

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

#button {

border: none;

color: white;

padding: 15px 32px;

text-align: center;

text-decoration: none;

display: inline-block;

font-size: 16px;

margin: 4px 2px;

cursor: pointer;

legend {

display: block;

padding-left: 2px;

51
padding-right: 2px;

border: none;

</style>

</head>

<body>

<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<div class="div2">

<table align="right" class="table1">

<tr>

<td><a href="[Link]" id="link_line" ><b><font color="white">Log


in</font></b></a></td>

<td><a href="[Link]" id="link_line" ><b><font


color="white">Register</font></b></a></td>

</tr>

</table>

</div>

<div style="margin-top: -968px;margin-left: 530px;position: absolute;width: 300px">

52
<a href="[Link]" id="link_line"><p><font face="verdana" color="white">eVISA
INDIA</font></p></a>

</div>

<script>

var myIndex = 0;

carousel();

function carousel() {

var i;

var x = [Link]("mySlides");

for (i = 0; i < [Link]; i++) {

x[i].[Link] = "none";

myIndex++;

if (myIndex > [Link]) {myIndex = 1}

x[myIndex-1].[Link] = "block";

setTimeout(carousel, 4000); // Change image every 2 seconds

</script>

<div id="mySidenav" class="sidenav">

53
<div style="padding-left: 50px">

<input type="image" src="[Link]" width="50px">

</div>

<br><br><br>

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

<a href="#">User Profile</a>

<a href="#">Apply Visa</a>

<a href="#">View Apply Visa</a>

<a href="#">Payments</a>

<a href="#">Successful Visa & Extend Visa</a>

<a href="#">Extend Visa</a>

</div>

<div style="margin-top: -830px;margin-left: -10px"><span style="font-


size:30px;cursor:pointer;position: fixed;margin-top: -10px;" onclick="openNav()"><input
type="image" src="[Link]" width="30px"></span></div>

<script>

function openNav() {

if([Link]("mySidenav").[Link] == "none")

[Link]("mySidenav").[Link] = "";

54
[Link]("mySidenav").[Link] = "250px";

function closeNav() {

[Link]("mySidenav").[Link] = "none";

</script>

<div >

<img src="[Link]" style="margin-top: 0px;margin-left: 100px;border-radius: 10px"


width="1100px" height="750px">

<div style="position: absolute;margin-top: -750px;margin-left: 300px">

<form method="POST" action="UserServlet" onsubmit="return checkForm(this);">

<h1 style="margin-left: 220px;font-size: 50px">Register</h1>

<table style="width: 850px;height: 500px">

<tr>

<td><p style="font-size: 30px">Name:</p></td>

<td><input style="width: 350px;height: 50px;border-radius: 5px;font-size: 25px"


title="Enter your name" type="text" required pattern="\w+" name="name"></td>

55
</tr>

Login [Link]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

div.div2{

margin-top: -938px;

position: absolute;

margin-left: 1080px;

table.table1{

56
width: 300px;

align: right;

#link_line{

text-decoration: none;

font-size: 28px;

.sidenav {

height: 100%;

width: 0;

position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

57
.sidenav a {

padding: 8px 8px 8px 32px;

text-decoration: none;

font-size: 25px;

color: #818181;

display: block;

transition: 0.3s;

.sidenav a:hover {

color: #f1f1f1;

.sidenav .closebtn {

position: absolute;

top: 0;

right: 25px;

font-size: 36px;

margin-left: 50px;

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

58
}

#button {

border: none;

color: white;

padding: 15px 32px;

text-align: center;

text-decoration: none;

display: inline-block;

font-size: 16px;

margin: 4px 2px;

cursor: pointer;

legend {

display: block;

padding-left: 2px;

padding-right: 2px;

border: none;

</style>

</head>

<body>

59
<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<div class="div2">

<table align="right" class="table1">

<tr>

<td><a href="[Link]" id="link_line" ><b><font color="white">Log


in</font></b></a></td>

<td><a href="[Link]" id="link_line" ><b><font


color="white">Register</font></b></a></td>

</tr>

</table>

</div>

<div style="margin-top: -968px;margin-left: 530px;position: absolute;width: 300px">

<a href="[Link]" id="link_line"><p><font face="verdana" color="white">eVISA


INDIA</font></p></a>

</div>

<div id="mySidenav" class="sidenav">

60
<div style="padding-left: 50px">

<input type="image" src="[Link]" width="50px">

</div>

<br><br><br>

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

<a href="#">Change Password</a>

<a href="#">Apply Visa</a>

<a href="#">View Applied VISA</a>

<a href="#">Pay & Get VISA</a>

<a href="#">Extend VISA</a>

<a href="#">Pay for Extend VISA</a>

</div>

<div style="margin-top: -830px;margin-left: -10px"><span style="font-


size:30px;cursor:pointer;position: fixed;margin-top: -10px;" onclick="openNav()"><input
type="image" src="[Link]" width="30px"></span></div>

<script>

function openNav() {

if([Link]("mySidenav").[Link] == "none")

[Link]("mySidenav").[Link] = "";

61
[Link]("mySidenav").[Link] = "250px";

function closeNav() {

[Link]("mySidenav").[Link] = "none";

</script>

<img src="[Link]" style="margin-left: 100px;border-radius: 10px" width="1100px"


height="750px">

<h1 style="margin-left: 580px;font-size: 50px;margin-top: -


710px;color:white">Login</h1>

<div style="position: absolute;margin-top: -50px;margin-left: 340px">

<form method="POST" action="LoginServlet">

<table style="width: 850px;height: 500px">

User [Link]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

62
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

div.div2{

margin-top: -625px;

position: absolute;

margin-left: 1200px;

table.table1{

width: 300px;

align: right;

63
}

#link_line{

text-decoration: none;

font-size: 28px;

.sidenav {

height: 100%;

width: 0;

position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

.sidenav a {

padding: 8px 8px 8px 32px;

text-decoration: none;

64
font-size: 25px;

color: #818181;

display: block;

transition: 0.3s;

.sidenav a:hover {

color: #f1f1f1;

.sidenav .closebtn {

position: absolute;

top: 0;

right: 25px;

font-size: 36px;

margin-left: 50px;

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

[Link]:link {

color: #ffffff;

65
/* visited link */

[Link]:visited {

color: #ffffff;

/* mouse over link */

[Link]:hover {

color: black;

/* selected link */

[Link]:active {

color: #ffffff;

</style>

</head>

<body>

<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<img src="[Link]" style="margin-top: -960px;margin-left: -10px">

<div style="margin-top: -850px;margin-left: 300px">

66
<img style="border-radius: 10px" class="mySlides" src="[Link]">

<img style="border-radius: 10px" class="mySlides" src="[Link]" >

<img style="border-radius: 10px" class="mySlides" src="[Link]">

</div>

<div class="div2">

<table align="right" class="table1">

<form method="POST" action="LogOut">

<tr>

<td></td>

<td><input style="background:none;border:none;margin:0;padding:0;color:
white;font-size: 28px" type="submit" value="Log out" ></td>

</tr>

</form>

</table>

</div>

<div style="margin-top: -655px;margin-left: 530px;position: absolute;width: 300px">

67
<a href="[Link]" id="link_line"><p><font face="verdana" color="white">eVISA
INDIA INDIA</font></p></a>

</div>

<script>

var myIndex = 0;

carousel();

function carousel() {

var i;

var x = [Link]("mySlides");

for (i = 0; i < [Link]; i++) {

x[i].[Link] = "none";

myIndex++;

if (myIndex > [Link]) {myIndex = 1}

x[myIndex-1].[Link] = "block";

setTimeout(carousel, 4000); // Change image every 2 seconds

</script>

<div id="mySidenav" class="sidenav">

<div style="padding-left: 50px">

68
<input type="image" src="${[Link] }.jpg" width="100px"
style="border-radius: 100%">

</div>

<br><br><br>

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

<a href="[Link]">Change Password</a>

<a href="[Link]">Apply Visa</a>

<a href="[Link]">View Applied VISA</a>

<a href="[Link]">Pay & Get VISA</a>

<a href="successfulappy&[Link]">Extend VISA</a>

<a href="[Link]">Pay for Extend VISA</a>

</div>

Apply For [Link]

<%@page import="[Link].*"%>

<%@page import="[Link].*"%>

<%@page import="[Link]"%>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

69
<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

div.div2{

margin-top: -938px;

position: absolute;

margin-left: 1200px;

table.table1{

width: 300px;

align: right;

#link_line{

70
text-decoration: none;

font-size: 28px;

.sidenav {

height: 100%;

width: 0;

position: fixed;

z-index: 1;

top: 0;

left: 0;

background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

.sidenav a {

padding: 8px 8px 8px 32px;

text-decoration: none;

font-size: 25px;

color: #818181;

display: block;

transition: 0.3s;

71
}

.sidenav a:hover {

color: #f1f1f1;

.sidenav .closebtn {

position: absolute;

top: 0;

right: 25px;

font-size: 36px;

margin-left: 50px;

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

#button {

border: none;

color: white;

padding: 10px 28px;

text-align: center;

text-decoration: none;

72
display: inline-block;

font-size: 14px;

margin: 4px 2px;

cursor: pointer;

legend {

display: block;

padding-left: 2px;

padding-right: 2px;

border: none;

table.table2 {

font-family: arial, sans-serif;

border-collapse: collapse;

width: 1235px;

background-color: white;

#td1, #th1 {

border: 1px solid black;

text-align: left;

padding: 8px;

73
width:20;

tr.tr1:nth-child(even) {

background-color: #dddddd;

</style>

</head>

<body>

<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<div class="div2">

<table align="right" class="table1">

<form method="POST" action="LogOut">

<tr>

<td></td>

<td><input style="background:none;border:none;margin:0;padding:0;color:
white;font-size: 28px" type="submit" value="Log out" ></td>

</tr>

74
</form>

</table>

</div>

<div style="margin-top: -968px;margin-left: 530px;position: absolute;width: 300px">

<a href="[Link]" id="link_line"><p><font face="verdana" color="white">eVISA


INDIA INDIA</font></p></a>

</div>

<img src="[Link]" style="position: absolute;left: 0px;top: 0px;z-index: -1;margin-top:


100px;margin-left: 35px;border-radius: 10px" width="1280px" height="820px">

<div id="mySidenav" class="sidenav">

<div style="padding-left: 50px">

<input type="image" src="${[Link] }.jpg" width="100px"


style="border-radius: 100%">

</div>

<br><br><br>

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

75
<a href="[Link]">Change Password</a>

<a href="[Link]">Apply Visa</a>

<a href="[Link]">View Applied VISA</a>

<a href="[Link]">Pay & Get VISA</a>

<a href="successfulappy&[Link]">Extend VISA</a>

<a href="[Link]">Pay for Extend VISA</a>

</div>

<div style="margin-top: -840px;margin-left: -10px"><span style="font-


size:30px;cursor:pointer;position: fixed;margin-top: -10px;" onclick="openNav()"><input
type="image" src="[Link]" width="30px"></span></div>

Apply [Link]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

76
div.div2{

margin-top: -938px;

position: absolute;

margin-left: 1200px;

table.table1{

width: 300px;

align: right;

#link_line{

text-decoration: none;

font-size: 28px;

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

<a href="#">Change Password</a>

<a href="#">Apply Visa</a>

<a href="#">View Applied VISA</a>

<a href="#">Pay & Get VISA</a>

77
<a href="#">Extend VISA</a>

<a href="#">Pay for Extend VISA</a>

</div>

<div style="margin-top: -830px;margin-left: -10px"><span style="font-


size:30px;cursor:pointer;position: fixed;margin-top: -10px;" onclick="openNav()"><input
type="image" src="[Link]" width="30px"></span></div>

Admin Dashboard [Link]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

<html>

<head>

<style>

body{

background: url('[Link]');

background-repeat: no-repeat;

font-family: "Lato", sans-serif;

div.div2{

margin-top: -625px;

78
position: absolute;

margin-left: 1200px;

table.table1{

width: 300px;

align: right;

#link_line{

text-decoration: none;

font-size: 28px;

.sidenav {

height: 100%;

width: 0;

position: fixed;

z-index: 1;

top: 0;

left: 0;

79
background-color: #111;

overflow-x: hidden;

transition: 0.5s;

padding-top: 60px;

<div style="margin-top: 110px;margin-left:60px" >

<table style="height: 200px;width:220px">

<tr><td><a style="text-decoration: none;font-size: 22px" class="one"


href="[Link]">Watch</a></td></tr>

<tr><td><a style="text-decoration: none;font-size: 22px" class="one"


href="[Link]">Calendar</a></td></tr>

<tr><td><a style="text-decoration: none;font-size: 22px" class="one"


href="[Link]">Calculate Visa Charge</a></td></tr>

<tr><td><a style="text-decoration: none;font-size: 22px" class="one"


href="[Link]">Contact Us</a></td></tr>

</table>

</div>

<p style="margin-left: 335px;font-size: 30px;margin-top: 240px;width:900px"


ALIGN=CENTER>

Welcome to the eVISA INDIA INDIA<br></p>

<p style="margin-left: 335px;font-size: 27px;margin-top: -20px;width:900px"


ALIGN=CENTER>The Official Site of Online VISA System of the Democratic Socialist
Republic of Sri Lanka.

This site helps you to provide a official VISA to travel to Sri lanka

An eligable Passport is valid to Get your VISA ,otherwise it will be rejected.

80
Also You can Extend your VISA

Site Hosted & Maintained by Department of Immigration & Emigration, Colombo, Sri
Lanka.

For more information, </p><br><p style="margin-left: 335px;font-size: 18px;margin-top: -


40px;width:900px" ALIGN=CENTER>visit <a href="">[Link]

All rights reserved.</p>

</body>

</html>

Manage User Data for Apply [Link]

<%@page import="[Link].*"%>

<%@page import="[Link].*"%>

<%@page import="[Link]"%>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"[Link]

@media screen and (max-height: 450px) {

.sidenav {padding-top: 15px;}

.sidenav a {font-size: 18px;}

#button {

border: none;

81
color: white;

padding: 10px 28px;

text-align: center;

text-decoration: none;

display: inline-block;

font-size: 14px;

margin: 4px 2px;

cursor: pointer;

legend {

display: block;

padding-left: 2px;

padding-right: 2px;

border: none;

table.table2 {

font-family: arial, sans-serif;

border-collapse: collapse;

width: 1235px;

background-color: white;

text-align: center;

#td1, #th1 {

82
border: 1px solid black;

text-align: center;

padding: 8px;

width:20;

tr.tr1:nth-child(even) {

background-color: #dddddd;

</style>

</head>

<body>

<img src="[Link]" style="margin-top: -10px;margin-left: -10px">

<div class="div2">

<table align="right" class="table1">

<form method="POST" action="LogOut">

<tr>

<td></td>

<td><input style="background:none;border:none;margin:0;padding:0;color:
white;font-size: 28px" type="submit" value="Log out" ></td>

</tr>

</form>

</table>

</div>

<div style="margin-top: -968px;margin-left: 530px;position: absolute;width: 300px">

<a href="[Link]" id="link_line"><p><font face="verdana"


color="white">eVISA INDIA</font></p></a>

83
</div>

<img src="[Link]" style="position: absolute;left: 0px;top: 0px;z-index: -1;margin-top:


100px;margin-left: 35px;border-radius: 10px" width="1280px" height="820px">

<div id="mySidenav" class="sidenav">

<div style="padding-left: 50px">

<input type="image" src="${[Link] }.jpg" width="100px"


style="border-radius: 100%">

</div>

<br><br><br>

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>

<a href="[Link]">Admin page</a>

<a href="[Link]">Update Password</a>

<a href="[Link]">Check Applied Visa</a>

<a href="[Link]">View Payments</a>

<a href="[Link]">Check Extend VISA Appeals</a>

<a href="[Link]">Users Management</a>

<a href="[Link]">Admins Management</a>

<a href="[Link]">View Messages</a>

<a href="[Link]">Update VISA Charges</a>

</div>

<div style="margin-top: -840px;margin-left: -10px"><span style="font-


size:30px;cursor:pointer;position: fixed;margin-top: -10px;"
onclick="openNav()"><input type="image" src="[Link]"
width="30px"></span></div>

84
CHAPTER 7
SCREENSHOTS

85
Home

When user enter the website, it will see user interface and all features like login Register
watch calendar calculate visa charge Contact Us Admin Login Etc.

Register

In Register Page User Himself register to the website and login and used all features of user.

86
Login Page

After Registered User redirected to this page for Login Where user enter username and
password

Dashboard

After Successfully Login user will see the Dashboard that he can used all features Apply Visa
View Applied Visa Pay & get visa Extend Visa Pay for extend Visa features.

87
Apply For Visa

Now apply for visa to redirected page of visa Form.

Register For User

Now this is visa apply form where user enter his details and process to apply for visa. Like
name Middle name surname birth date Gender Email address Phone number Country for
applied visa, visa type Passport ID Issue date no. of days for apply visa.

88
Apply Successfully

After entering all details user will see this message visa applied Successfully now user will
wait for approval of admin and check later or after some times.

Admin Login Page

This is Admin Panel where admin used username and password and login to admin dashboard
page redirect.

89
Admin Dashboard

After Login Successfully admin will see this dashboard and now manage all user data Like
check user list of applied for visa Check Extend Visa Appeals User management View
Messages Update Visa Charges.

Verified User Data List

90
Here you see the applied visa candidate list and verified by admin and manage all data of
candidate. All data verification here done by admin check all details from user form where
user applied for visa form and fetched the details.

User Check Visa Details

After verified by admin now user can login and check his visa status Like date amount Visa
issue date Visa Expire Date Country name and all details. User also extend there visa by
apply in visa processing system in java.

91
CHAPTER 8
CONCLUSION

92
Chapter 8
Conclusion
8.1 Conclusion
The Visa Processing System has been designed and developed to streamline the complex
process of visa applications, enhance user experience, and improve operational efficiency for
visa processing companies. Through thorough planning and implementation, the system
meets its primary objectives, which include:

User-Friendly Interface: The system provides an intuitive interface for both applicants and
administrators, making the application process straightforward and accessible.

Efficient Processing: Automated workflows and effective management of applicant data


minimize manual interventions, thereby reducing the time required for visa processing.

Robust Security Measures: With a focus on protecting sensitive information, the system
incorporates various security protocols to safeguard user data against unauthorized access.

Scalability: The architecture of the system supports scalability, allowing for future
enhancements and the capacity to handle increased user loads as demand grows.

In summary, the Visa Processing System is a comprehensive solution that addresses the key
challenges associated with visa applications, offering significant improvements over
traditional manual processes. Its successful deployment can significantly enhance user
satisfaction and operational effectiveness for visa processing companies.

93
CHAPTER 9
FUTURE SCOPE

94
Chapter 9
Future Scope
9.1 Future Scope
The future scope of the Visa Processing System includes several potential enhancements and
features that can further improve its functionality and user experience:

Integration with Third-Party Services:

Future iterations of the system can incorporate APIs to connect with government databases,
travel agencies, and payment gateways for real-time validation and processing.

Integration with biometric verification systems to streamline identity verification processes


for applicants.

Mobile Application Development:

Developing a mobile application version of the system can increase accessibility and
convenience for users, allowing them to submit applications and track status from their
smartphones.

Artificial Intelligence and Machine Learning:

Implementing AI and ML algorithms to analyze application data can help identify trends,
predict processing times, and enhance decision-making for visa approvals.

Chatbot functionality can be integrated to provide immediate assistance to applicants,


answering common questions and guiding them through the application process.

Enhanced Reporting and Analytics:

Adding advanced reporting features to generate insights on application trends, processing


times, and user demographics, helping administrators make data-driven decisions.

Implementing dashboards for real-time monitoring of visa application statuses and workload
distribution.

Support for Multiple Languages:

Expanding the system to support multiple languages to cater to a diverse user base and
enhance usability for international applicants.

95
Improved Security Features:
Continuous updates to security protocols to counter emerging threats and enhance data
protection measures.

Implementing two-factor authentication and other advanced security mechanisms to


safeguard user accounts.

Feedback and Iterative Development:

Establishing a robust feedback mechanism to gather user experiences and suggestions for
continuous improvement of the system.

Regular updates and feature enhancements based on user feedback and technological
advancements.

Conclusion

The Visa Processing System represents a significant step towards modernizing the visa
application process, providing numerous benefits for both applicants and administrators. By
considering the outlined future enhancements, the system can evolve to meet changing user
needs and technological advancements, ensuring it remains a valuable tool for visa
processing companies in the years to come.

In the future, the system could:

 Integrate with government systems for verification and background checks.

 Include biometric verification for applicants.

 Expand to include mobile applications, providing more flexibility to users.

96
CHAPTER 10
REFERENCE

97
Chapter 10
References
 Books:
Sommerville, I. (2011). Software Engineering. 9th Edition. Boston: Addison-
Wesley.
Pressman, R. S., & Maxim, B. (2014). Software Engineering: A Practitioner’s
Approach. 9th Edition. McGraw-Hill.

 Research Papers:
Zhang, X., & Zhang, H. (2018). "Design and Implementation of a Visa Processing
System Based on Web Technologies." International Journal of Computer Science
and Information Security, 16(1), 47-53.
Kumar, A., & Singh, R. (2019). "Automation of Visa Processing System using
Java and MySQL." International Journal of Advanced Research in Computer
Science, 10(1), 15-20.

 Websites:
Oracle. (n.d.). Java SE Documentation. Retrieved from
[Link]
MySQL. (n.d.). MySQL Documentation. Retrieved from
[Link]
Apache. (n.d.). Apache Tomcat Documentation. Retrieved from
[Link]

 Online Tutorials and Resources:


W3Schools. (n.d.). "Java Servlet Tutorial". Retrieved from
[Link]
Tutorialspoint. (n.d.). "JavaServer Pages (JSP) Tutorial". Retrieved from
[Link]

98
o Technical Documentation:
Hibernate. (n.d.). Hibernate ORM Documentation. Retrieved from
[Link]
Java EE. (n.d.). Java EE Documentation. Retrieved from
[Link]

o Software Testing:
Beizer, B. (1995). Software Testing Techniques. 2nd Edition. New York: Van
Nostrand Reinhold.
Juran, J. M. (1999). Juran's Quality Handbook. 5th Edition. New York: McGraw-
Hill.

o Miscellaneous:
OWASP Foundation. (n.d.). OWASP Top Ten Web Application Security Risks.
Retrieved from [Link]
GitHub. (n.d.). Open Source Projects. Retrieved from [Link]

99

You might also like