Skip to content

akshupande/Insurance-management-system-java-dynamic-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Insurance Management System – Java Dynamic Web Project

An end-to-end Java-based project developed using Eclipse JEE Neon, integrating Console, JDBC, Servlets, and JSP with Apache Derby and Apache Tomcat to manage customers, bills, policies, and complaints.

This is an Insurance Management System developed using Java EE technologies including JSP, Servlets, JDBC, and Apache Derby database. The system provides both console-based and web-based interfaces for managing insurance policies, customers, bills, and complaints.


πŸ“‚ Project Structure

InsuranceManagementSystem/
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ model/ - Entity classes
β”‚   β”œβ”€β”€ dao/ - Data Access Objects
β”‚   β”œβ”€β”€ service/ - Business logic
β”‚   β”œβ”€β”€ exceptions/ - Custom exceptions
β”‚   β”œβ”€β”€ thread/ - Thread implementations
β”‚   β”œβ”€β”€ utils/ - Utility classes
β”‚   β”œβ”€β”€ web/ - Servlets                  
β”‚   └── InsuranceManagementSystem.java   <-- Console entry point
β”‚
β”œβ”€β”€ WebContent/
β”‚   β”œβ”€β”€ WEB-INF/
β”‚   β”‚   β”œβ”€β”€ web.xml - Deployment descriptor
β”‚   β”‚   └── lib/ - Library JARs          <-- derbyclient.jar
β”‚   └── *.jsp  - All view pages          <-- All JSPs
β”‚
β”œβ”€β”€ build/
β”œβ”€β”€ screenshots/              <-- Optional folder for UI screenshots
└── README.md

πŸ› οΈ Tech Stack

Component Technology
IDE Eclipse JEE Neon 3 (Win32-x86_64)
Language Java (JDK 8+)
Web Layer JSP, Servlets
Backend DB Apache Derby 10.2.2.0
Server Apache Tomcat 9.0
JDBC Driver derbyclient.jar
Markup JSP + external CSS
XML 3.1
Other JDBC

βš™οΈ Setup Instructions

Step 1: Add Apache Tomcat in Eclipse

  1. Open Eclipse β†’ Window β†’ Preferences β†’ Server β†’ Runtime Environments
  2. Click Add… β†’ Select Apache Tomcat v9.0
  3. Browse Tomcat installation directory and finish.

Step 2: Add Apache Derby in Eclipse

  1. Add derbyclient.jar to Eclipse classpath:

    • Right-click project β†’ Build Path β†’ Add External Archives… β†’ Add derbyclient.jar
  2. Go to Window β†’ Show View β†’ Data Source Explorer

  3. Add Derby embedded connection with database jdbc:derby://localhost:1527/db;create=true

  4. Connection: Open cmd -> Downloads\db-derby-10.10.2.0-bin\bin\startnetworkserver (Type Derby Folder path) & Enter. Default port is '1527'.


▢️ How to Run Console Application

  1. Right-click InsuranceManagementSystem.java β†’ Run As β†’ Java Application
  2. Interact with menu: policy listing, customer registration, complaint handling, bill viewing, etc.

🌐 How to Run Web Application (JSP/Servlet)

  1. Right-click project β†’ Run on Server
  2. Login/Register as a customer via login.jsp or register.jsp
  3. Navigate using top menu: Home, Pay Bill, Register Complaint, Complaint Status, Bill History

Database Setup

  1. Create a new Derby database:

    • In Eclipse, open the Data Source Explorer view
    • Right-click on Databases β†’ New β†’ Derby Connection
    • Configure with database name "InsuranceDB" and schema "user"
    • Test connection and finish
  2. πŸ—ƒοΈ SQL Scrapbook Usage

To view/modify Derby DB:

  1. Window β†’ Show View β†’ Data Source Explorer

  2. Connect to Derby β†’ Right-click schema USER β†’ New SQL Scrapbook

  3. Use queries like:

    SELECT * FROM "USER"."CUSTOMER";
    SELECT * FROM "USER"."BILL";

πŸ” Why Console + Web

  • Console: Quick testing, threading (bill generation), exception demonstration, inheritance.
  • Web (JSP/Servlet): Real-world customer-facing UI for registration, complaints, payments.

πŸš€ Features Implemented

βœ… Core Console

  • Menu System
  • Customer Registration, Search, Email Domain View
  • Policy Listing

βœ… JDBC & DB Integration

  • Persistent Registration
  • Bill Table with Relations
  • Complaint Handling

βœ…Advanced Java

  • Threaded Bill Generation
  • Inheritance-based Complaints
  • Custom Exceptions for validations

βœ… JSP/Servlets

  • Customer Self-Registration
  • Login/Logout
  • Pay Bill (with receipt download)
  • Complaint Registration/Status
  • View Bill History
  • View All Complaints (Admin)

Key Features

Console Features:

  1. Menu-based console interface
  2. Policy listing
  3. Customer registration with validation
  4. Search customers by email or ID
  5. View customers by email domain
  6. Bill management
  7. Complaint registration

Web Features:

  1. Customer registration with form validation
  2. Bill viewing and payment
  3. Complaint registration and status tracking
  4. Admin dashboard for managing complaints
  5. Bill history viewing

Technical Implementations

  1. Custom Exceptions: EmailAlreadyExistException, CustomerNotFoundException
  2. Polymorphism: Bill search by either email or bill number
  3. Inheritance: Complaint class inherits from Consumer
  4. Multithreading: Concurrent bill generation using BillGenerationThread
  5. JDBC: Database connectivity with connection pooling
  6. Servlet/JSP: MVC architecture for web interface

πŸ”„ Future Modifications

System Requirements:

  1. User Roles & UI: Role-based interfaces (Admin, CSR, Customer) with mobile-responsive design (Bootstrap/React)
  2. Security:
    • Spring Security for authentication
    • Email OTP verification
  3. Backend:
    • Spring Boot REST API
    • Dependency injection (Spring Framework)
    • Hibernate ORM
  4. Features:
    • PDF generation for bills/receipts
    • Payment gateway integration
    • Enhanced reporting
  5. Quality Assurance:
    • Unit testing (JUnit/TestNG)

Key improvements:

  • Merged REST API conversion with Spring Boot implementation
  • Grouped all security-related items
  • Consolidated frontend technologies under UI
  • Removed redundant "implementation" verbs
  • Organized by logical categories (UI, Security, Backend, etc.)

Screenshots

(Screenshots in a screenshots folder to demonstrate the application flow)


Usage Notes

  • The console application is designed for administrative tasks
  • The web application provides customer-facing features
  • Derby database stores all persistent data
  • Tomcat serves as the servlet container for the web application

Troubleshooting

  • Ensure all required JARs are in WEB-INF/lib
  • Check database connection parameters in DatabaseUtility.java
  • Verify Tomcat server configuration
  • Ensure proper JDK version is configured in Eclipse

πŸ“œ License

MIT License

About

An end-to-end Java-based project developed using Eclipse JEE Neon, integrating Console, JDBC, Servlets, and JSP with Apache Derby and Apache Tomcat to manage customers, bills, policies, and complaints.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages