Web Report Sruthi
Web Report Sruthi
Bachelor of Technology
in
Computer Science & Engineering
By
E.SRUTHI (22UESS0015)
M.THRISSAPTHA REDDY (22UESS0030)
T.JAGADESHWAR REDDY (22UESS0057)
SUMMER 2024-2025
Signature of Supervisor
Dr.P.Ramesh
Assistant Professor- Sr Gr
Computer Science &Engineering
School of Computing
Vel Tech Rangarajan Dr.Sagunthala R&D
Institute of Science &Technology
October, 2024
i
DECLARATION
We declare that this written submission represents my ideas in our own words and where others’
ideas or words have been included, we have adequately cited and referenced the original sources. We
also declare that we have adhered to all principles of academic honesty and integrity and have not
misrepresented or fabricated or falsified any idea/data/fact/source in our submission. We understand
that any violation of the above will be cause for disciplinary action by the Institute and can also
evoke penal action from the sources which have thus not been properly cited or from whom proper
permission has not been taken when needed.
(Signature)
E.SRUTHI
Date: / /
(Signature)
M.THRISSAPTHA REDDY
Date: / /
(Signature)
T.JAGADESHWAR REDDY
Date: / /
ii
APPROVAL SHEET
Dr.P.Ramesh,
Assistant Professor- Sr Gr,
Date: / /
Place:
iii
ABSTRACT
Our aim for this project is to create a web-based solution to streamline and automate the process
of employee claiming submissions, approvals and the management of their needs. it offers a user
friendly interface where employees can submit claims for the reimbursement, track the status of their
request, approving and processing claims with greater efficiency. This page ensures for secure user
authentication , real time status update and the detail report for administrators to monitor and mange
claims.It is special developed to reduce the time taken for the Human Resource Manager(HR) to
process the claims and the number of paper work that is need to claim for a purpose. It has all the
specification of the types of claims that a employee can claim and the limits for the employees ac-
cording to there designations which will further help for easier processing. Using these features of
our web page, most of the employee problems regarding claiming issues are solved.
iv
LIST OF FIGURES
v
LIST OF TABLES
vi
LIST OF ACRONYMS AND
ABBREVIATIONS
JS JavaScript
XAMPP Cross-Platform (X), Apache (A), MySQL (M), PHP (P), Perl (P)
vii
TABLE OF CONTENTS
Page.No
ABSTRACT iv
LIST OF FIGURES v
LIST OF TABLES vi
1 INTRODUCTION 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aim of the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Project Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Scope of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 REQUIREMENT SPECIFICATION 4
2.1 User characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Hardware specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Software specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 WEBSITE DESIGN 7
3.1 Sitemap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Design Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Front End and Back End Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.1 Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.2 Signup and Login page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.3 Form Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.4 Parse the webpage using Jquery and DOM . . . . . . . . . . . . . . . . . . 13
3.3.5 Creation of Webserver using Node Js . . . . . . . . . . . . . . . . . . . . . 14
3.3.6 Design of Three Tier application using Node js and MySQL . . . . . . . . . 14
3.3.7 Design of Reactive form for User Registration using Angular . . . . . . . . 16
3.3.8 Develop web application to implement routing and navigation in Angular . . 17
3.3.9 Creation of Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.10 Deployment of Microservices . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 TESTING 19
4.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1 Test Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2 Test Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 SOURCE CODE 27
9 SCREENSHOTS 28
References 29
Chapter 1
INTRODUCTION
1.1 Introduction
The primary aim of this project is to design and implement an efficient Employee Claiming
Management System that:
The project falls under the domain of web-based enterprise resource management systems, fo-
cusing specifically on HR and financial process automation. It integrates multiple technologies, in-
1
cluding web development languages such as HTML, CSS, PHP, Nodejs, Angular js and MySQL for
backend data handling, providing a robust solution for managing employee-related claims and reim-
bursements.
The Employee Claiming Management System covers the following key functionalities:
• Employee Management: Secure login and registration system for employees to access the plat-
form and submit claims.
• Claim Submission: A simple form-based interface for submitting claims with document uploads
(e.g., receipts).
• Claim Processing: Role-based access for administrators to review, approve, or reject claims and
provide feedback to employees.
• Notification System: Automated email or system notifications to keep employees updated about
the status of their claims.
• Database Management: Use of MySQL to store employee data, claims, approval statuses, and
other relevant information.
• Reports and Analytics: Tools to generate reports on claim submissions, approvals, rejections,
and pending claims for managerial review.
1.5 Methodology
The development of the Employee Claiming Management System follows the Agile develop-
ment methodology, with the project broken down into iterative sprints for continuous development
and improvement. The system is developed using:
• Front-End Development: HTML5, CSS3, and JavaScript to design the user interface and ensure
responsiveness.
• Back-End Development: Nodejs and angularjs is used for server-side logic to handle claim
submissions, approvals, and interactions with the database.
• Database: MySQL is utilized to store and manage all employee and claim-related data.
2
• Testing: The system undergoes unit testing, integration testing, and user acceptance testing to
ensure that it meets performance, security, and usability requirements.
• Deployment: The platform will be deployed using XAMPP for local development and testing,
with the possibility of future deployment to a live server.
3
Chapter 2
REQUIREMENT SPECIFICATION
The Employee Claiming Management System (ECMS) is designed to cater to different types of
users within an organization. The user base can be broadly divided into two categories:
Employees:
• Employees are the primary users who will submit claims for reimbursements (e.g., travel, medi-
cal, or other expenses).
• Basic technical proficiency is expected (e.g., the ability to use a web browser and fill out forms).
• They will need access to the system via a secure login and will be able to track the status of their
claims in real-time.
• Employees should be familiar with the types of claims they are allowed to submit based on the
organization’s policies.
Administrators/Managers:
• Administrators are responsible for reviewing, approving, or rejecting claims submitted by em-
ployees.
• They need a good understanding of company policies related to expense claims and reimburse-
ments.
• They should be proficient with web-based tools and systems, as they will manage the flow of
claims and ensure accurate and timely processing.
• Admins will also have access to reporting tools and logs to monitor overall claim activity.
2.2 Dependencies
The Employee Claiming Management System has certain dependencies that must be met to
ensure smooth functionality:
4
• Network Dependency:A stable internet connection is required for the employees and administra-
tors to access the system from different locations.
• Third-Party Services:Email services (e.g., SMTP server) will be needed to send notifications
about claim statuses and approvals.
• Database Dependency:A MySQL database is required for storing and retrieving employee data,
claims information, and other relevant data.
• Hosting Platform:For a live environment, a server with PHP and MySQL support will be re-
quired to host the website and database.
Components Specification
The software stack for the Employee Claiming Management System includes the following technolo-
gies:
Front-End:
• HTML5: Used for creating the structure and content of the web pages.
• CSS3: Used for styling the web pages to ensure responsive design and better user experience.
• JavaScript: Adds interactivity to the web pages (e.g., form validations, dynamic updates).
• Bootstrap: For responsive design, ensuring that the system is accessible on various screen sizes
(desktops, tablets, and mobiles).
Back-End:
5
• PHP: Server-side scripting language for processing claim submissions, user login, and interac-
tion with the database.
• MySQL: Relational Database Management System (RDBMS) to store data such as employee
details, claims, approvals, etc.
Development Environment:
• XAMPP: For local development (includes Apache server, MySQL database, and PHP inter-
preter).
• IDE/Code Editor: Any standard IDE such as Visual Studio Code, Sublime Text, or PHPStorm
for coding.
6
Chapter 3
WEBSITE DESIGN
3.1 Sitemap
The Employee Claiming Management System (ECMS) site map provides an organized structure of
the website’s pages and features, illustrating how users can navigate through the system. This Dia-
gram consists of user login where the user cam see all the claims, Claim admin login for the admins
and adding new claim types, Database admin Login where all the posted claims are seen and the
employee profiles can be viewed. Lastly it also contains the Financial admin Login where the update
of payments for the claims are shown. The site map consists of several main sections that cater to the
needs of employees and administrators giving the overview of the website.
7
3.2 Design Phase
The Data Flow Diagram (DFD) for the Employee Claiming Management System illustrates the flow
of information between users, the web interface, and the system’s backend. Employees submit claim
requests via the front-end web application, which are processed through validation mechanisms.
These requests are then transmitted to the server for storage in the MySQL database. The system
administrator accesses the data, reviews, and approves or rejects claims, with decisions sent back
to the user interface. The DFD highlights key processes like user authentication, form validation,
data storage, and communication between components using technologies such as PHP, Node.js, and
MySQL.
8
3.3 Front End and Back End Design
The Home Page serves as the entry point to the Employee Claiming Management System
(ECMS). It is designed to provide a welcoming and informative experience for users. Key features
include:
• Introduction: A brief overview of the ECMS, highlighting its purpose and benefits for employees
and administrators.
• Navigation Menu: Easy access to other sections of the site, including the User Dashboard, About
Us, Help/FAQ, and Contact Us pages.
• Login and Signup Buttons: Prominent buttons for users to either log in or register for an account,
facilitating quick access to the system.
• User Testimonials: Optional section showcasing user feedback to build trust and credibility.
• Visual Design: The page features a modern and responsive design, ensuring accessibility across
various devices and screen sizes.
9
3.3.2 Signup and Login page
Login Form: Fields for users to enter their credentials (username/email and password) with a
”Remember Me” option and a ”Forgot Password?” link for account recovery.The login form
page of the Employee Claiming Management System allows registered users to securely access
their accounts. It includes fields for entering a username or email and password, with built-in
validation for correct input. Upon submission, the form sends the credentials to the server for
authentication, ensuring secure access to the system.
10
Figure 3.5: Signup Page
• Signup Form: A registration form that collects essential information such as name, email, pass-
word, and role (employee or admin). It includes input validation to ensure data accuracy.
• User Feedback: Real-time feedback messages for successful login or signup, as well as error
messages for incorrect credentials or validation issues.
The Signup Form page allows new users to create an account by entering personal details such as their
name, email, password, and contact information. The form includes validation checks to ensure data
accuracy and password strength. Once submitted, the data is securely stored in the MySQL database,
enabling users to log in to the system.
11
3.3.3 Form Validation
Form Validation ensures that user inputs are correct and secure before submission. Key compo-
nents include:
• Client-Side Validation: Utilizing JavaScript to check for required fields, valid email formats, and
password strength. This provides immediate feedback to users.
• Server-Side Validation: Implementing validation checks in Node.js to verify data integrity before
processing and storing in the database. This is essential for security and reliability.
12
3.3.4 Parse the webpage using Jquery and DOM
The project employs jQuery and DOM manipulation to enhance user interactivity and improve
the overall user experience:
• Dynamic Content Updates: jQuery is used to update parts of the webpage without requiring a
full page reload, such as loading recent claims or notifications dynamically.
• Event Handling: Implementing event listeners for user actions (e.g., form submissions, button
clicks) to provide instant feedback and interactions.
• Data Parsing: Extracting data from forms or APIs and displaying it on the webpage in real-time,
improving the usability of the system.
13
3.3.5 Creation of Webserver using Node Js
The webserver is created using Node.js to handle HTTP requests and serve the ECMS applica-
tion:
• Express Framework: Utilizes Express.js for routing and middleware support, making it easier to
define endpoints for login, signup, and claim submissions.
• RESTful API: Implements RESTful practices for creating endpoints that respond to client re-
quests, facilitating interaction between the front-end and back-end.
• Error Handling: Includes mechanisms for handling errors and providing informative responses
to the client.
14
Figure 3.10: Employee Database
The project follows a three-tier architecture to separate concerns and improve maintainability:
• Presentation Layer: The front end built with Angular, providing a responsive user interface for
employees and administrators.
• Application Layer: The back-end service using Node.js, which processes requests, performs
business logic, and interacts with the database.
• Data Layer: The MySQL database for storing employee data, claims, and other related informa-
tion. This layer manages data access and integrity.
15
3.3.7 Design of Reactive form for User Registration using Angular
The user registration process uses Angular Reactive Forms to enhance validation and user expe-
rience:
• Dynamic Form Controls: Form controls are created dynamically based on user input, allowing
for better validation handling and real-time updates.
• Validation Logic: Built-in validators and custom validators ensure that data entered by users
meets the required standards before submission.
• User Feedback: Immediate feedback is provided to users about the validity of their inputs
through visual cues and messages.
16
3.3.8 Develop web application to implement routing and navigation in Angular
The application implements routing and navigation to ensure seamless transitions between dif-
ferent views:
• Angular Router: Configures routes to various components such as login, signup, dashboard, and
claim submission pages.
• Route Guards: Implements route guards to protect certain routes, ensuring that only authenti-
cated users can access specific parts of the application.
• Navigation Links: Provides a navigation menu to easily switch between different sections of the
app, enhancing the overall user experience.
The project may utilize a microservices architecture to improve scalability and maintainability:
• Service Separation: Each microservice handles a specific functionality, such as user manage-
ment, claims processing, or notification services, allowing independent deployment and scaling.
17
• API Communication: Microservices communicate through APIs, enabling them to work to-
gether while remaining loosely coupled.
• Technology Diversity: Each microservice can use different technologies based on requirements,
improving flexibility in development and deployment.
18
Chapter 4
TESTING
4.1 Testing
• Description: Each microservice (User Service, Claims Service) will be tested independently by
mocking external services and testing the internal logic.
1. User Service: Test registration logic, input validation, and response handling.Test the user reg-
istration API to ensure it properly stores user data in the database.Test password encryption,
validation of email format, and error messages.
2. Claims Service: Test claim submission, amount validation, and database insertion.Test if the
claim is submitted correctly and stored in the database.Validate that claims with a negative or
zero amount are rejected.
• Description: Test Angular components, services, and forms independently. Mock HTTP calls
using HttpClientTestingModule and ensure that the component’s functionality is working as
expected.
1. Form Validation: Ensure that the user registration and claim submission forms handle input
validation correctly. Test that required fields are validated and display errors when not filled.
Ensure numeric fields such as Claim Amount only allow positive numbers.
19
2. Services: Test Angular services to ensure proper interaction with APIs (using HttpTestingCon-
troller to mock HTTP requests).
Missing or incomplete form validation for claim submission fields, such as claim type, amount,
20
or description.The user could submit incomplete or incorrect data.Implement validation for all re-
quired fields before submitting the form, both client-side and server-side. Incorrect data types for
amount fields (e.g., strings instead of numbers).Claims may be stored incorrectly or result in database
errors.Ensure proper type checking and input sanitization
Attempting to retrieve money with an invalid claim ID doesn’t trigger an error, or it leads to a
crash.Potential security risks and user confusion.Validate the claim ID before processing and provide
appropriate error messages if it is invalid.Incorrect amounts displayed or retrieved for certain claims
due to calculation or data retrieval errors.Financial discrepancies and potential user distrust.Verify
data retrieval logic from the database and ensure accuracy in calculations.
Users are able to submit reviews with missing information (e.g., missing text or ratings).Incomplete
or meaningless reviews might be submitted.Implement proper form validation to require all necessary
fields before submission.Users are able to submit the same review multiple times by accidentally
pressing the submit button more than once.Unnecessary data duplication and potential skewing of re-
view data.Disable the submit button after the first click, or implement server-side checks for duplicate
submissions.
The claim submission and review forms may not be fully responsive, resulting in elements
overlapping or not fitting within the viewport on mobile devices.Poor user experience on mobile
devices.Implement responsive design techniques, such as using media queries and Bootstrap’s grid
system to ensure proper layout on all devices.Buttons or input fields may not respond well to touch
interactions on mobile devices.User frustration when interacting with the form on mobile. Test and
optimize touch interactions, ensuring that all elements are easily tappable and responsive.
21
Chapter 5
The test image of the website represents a visual confirmation of the layout and functionality, ensuring
that design elements like buttons, text fields, and forms render correctly across devices. It checks for
responsiveness, layout consistency, and proper alignment. The image also verifies that all interactive
elements, such as links and forms, are functioning as expected.
22
Chapter 6
The performance of the website in this project is optimized to handle multiple user interactions,
including claim submissions, data retrieval, and responsive design across devices. Built using Angu-
lar for the frontend and Node.js with a MySQL database for the backend, the web application ensures
fast data processing and seamless communication between the client and server. Leveraging microser-
vices architecture, it enables scalability and modularity, ensuring that various features like user login,
claim uploads, and reviews run independently without affecting overall performance. However, net-
work latency, unoptimized database queries, or large file uploads could impact load times.
6.2 Security
The security performance of this project focuses on safeguarding sensitive data, such as user cre-
dentials, claims information, and financial records. Key measures include enforcing strong authen-
tication protocols, securing database connections, implementing HTTPS to ensure encrypted data
transmission, and using input validation to prevent common vulnerabilities like SQL injection and
cross-site scripting (XSS). Additionally, role-based access controls ensure that only authorized users
can perform certain actions, like viewing claims or submitting requests. Regular security audits and
monitoring will help maintain a secure environment by identifying and addressing potential threats
promptly.
• HTTPS Encryption: Using HTTPS ensures that all data transmitted between the client and server
is encrypted, protecting it from interception by attackers. This helps safeguard sensitive user
information like login credentials and financial claim details.
• Input Validation Sanitization: Validating and sanitizing user input helps prevent malicious code
injections such as SQL injection and Cross-Site Scripting (XSS). By ensuring that only expected
data is processed, it prevents attackers from exploiting vulnerabilities in forms and data inputs.
23
• Authentication Authorization: Implementing strong authentication mechanisms (e.g., JWT,
OAuth) ensures that only authorized users can access the application. Authorization rules ensure
role-based access control, meaning users can only perform actions or access information specific
to their role (e.g., employee vs. admin).
• Secure Database Connections: Using secure methods to connect to the database, such as en-
crypted connections and proper handling of credentials (e.g., environment variables), ensures
that the communication between the application and the database is not vulnerable to attacks
like man-in-the-middle.
The project is designed with a focus on responsiveness and mobile-friendliness, ensuring that it
provides a seamless experience across different devices and screen sizes. Using Bootstrap and CSS
media queries, the layout automatically adjusts to fit smaller screens like smartphones and tablets,
while maintaining a consistent user interface on larger devices such as desktops. Key components
like the user login, claim submission, and review sections are designed with flexible grids and ele-
ments that resize dynamically, improving accessibility and usability on mobile devices. The use of
touch-friendly buttons and inputs further enhances the mobile experience, allowing users to efficiently
navigate and interact with the application from any device.
24
Chapter 7
7.1 Conclusion
Future enhancements for this Employee Claim Management System could include:
• Automated Claim Approval Process: Implement machine learning algorithms to analyze past
claims and automatically approve or reject claims based on predefined patterns, reducing manual
intervention.
• Multi-Currency and International Support: Enable the system to handle multiple currencies for
employees submitting claims from different countries, and integrate exchange rate APIs for real-
time conversion.
• Mobile Application: Develop a dedicated mobile application for iOS and Android to provide
employees with an even more seamless experience, allowing them to submit claims, track ap-
provals, and view status updates directly from their phones.
25
• Advanced Reporting and Analytics: Add enhanced reporting features, enabling management to
generate detailed reports on claim trends, department-wise expenses, and fraud detection.
• Integration with Payroll and HR Systems: Integrate the system with existing payroll and HR
management tools to automate reimbursement and approval workflows, ensuring seamless oper-
ations across the organization.
26
Chapter 8
SOURCE CODE
27
Chapter 9
SCREENSHOTS
28
Figure 9.3: Signup Page
29
References
[4] Oracle Corporation, “Introduction to MySQL - MySQL 8.0 Reference Manual.” [Online]. Avail-
able: https://dev.mysql.com/doc/refman/8.0/en/. [Accessed: Oct. 07, 2024].
[5] OWASP Foundation, “OWASP Top Ten - OWASP Foundation.” [Online]. Available:
https://owasp.org/www-project-top-ten/. [Accessed: Oct. 07, 2024].
30