Welcome to Lanka Health Insurance Online – a comprehensive web application for managing health insurance policies, claims, and customer services, built with modern Java technologies and a secure, user-friendly frontend.
- Project Overview
- Features
- Architecture
- Technology Stack
- Project Structure
- Getting Started
- Available Scripts & Useful Commands
- Deployment
- Configuration
- Design Patterns
- Security & Best Practices
- Contributing
- Contact & Support
- License
Lanka Health Insurance Online is a full-stack web system for insurance companies to:
- Digitally enroll customers
- Manage insurance policies
- Submit and process claims
- Interact with support staff and admins through role-based portals
This platform delivers seamless experience to both company personnel and policyholders, promoting operational efficiency, data integrity, and privacy.
- Multi-role Access: Policyholders, Admins, HR Managers, Marketing Managers, and Customer Support.
- Customer Portal: View policy, submit & track claims, make payments, update information, view documents.
- Admin Dashboard: User and policy management, advanced analytics, reporting.
- Claims Processing: Automated workflow for rapid validation and processing of insurance claims.
- Customer Support: Dedicated interface for customer inquiries and resolutions.
- Secure Authentication & Authorization: Role-based access controls.
- Email Notifications: For policy updates, claims, reminders.
- Mobile-Friendly & Responsive UI: Tailwind CSS powered, modern look-and-feel.
- Comprehensive Privacy Policy: In compliance with international data standards.
- Backend:
Java 21, Jakarta EE, Spring Boot (Data JPA, MVC) - Database:
Relational database (schema inhealth_ins_db.sql) - Frontend:
HTML5, Tailwind CSS, JavaScript, responsive static pages insrc/main/resources/static - Persistence:
JPA Entity models and repositories - Security:
Spring Security, JWT, encrypted credentials - Utilities:
Lombok for cleaner Java code, modular utility classes
- Java 21
- Spring Boot (
spring-boot-starter-web,spring-boot-starter-data-jpa,spring-boot-starter-security) - Jakarta EE (Servlet API, annotations via
jakartaimports) - Lombok (annotations for getters/setters/constructors)
- H2/MySQL/etc. (configure in
application.properties) - Thymeleaf (if any dynamic server-rendered HTML)
- Tailwind CSS and FontAwesome (for modern UI)
- JUnit (testing)
- Maven (build and dependency management)
healthinsureonline/ ├── .idea/ ├── .mvn/ ├── .vscode/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── sliit/ │ │ │ └── healthins/ │ │ │ ├── config/ │ │ │ │ ├── ApplicationConfig │ │ │ │ ├── CustomUserDetails │ │ │ │ ├── DatabaseConfig │ │ │ │ ├── DataInitializer │ │ │ │ ├── EmailConfig │ │ │ │ ├── SecurityConfig │ │ │ │ ├── SystemConfig │ │ │ │ └── WebConfig │ │ │ ├── controller/ │ │ │ ├── dto/ │ │ │ ├── exception/ │ │ │ ├── model/ │ │ │ ├── pattern/ │ │ │ ├── repository/ │ │ │ ├── service/ │ │ │ ├── util/ │ │ │ └── HealthinsureonlineApplication │ │ └── resources/ │ │ ├── META-INF/ │ │ ├── static/ │ │ │ ├── images/ │ │ │ ├── admin-system-settings.html │ │ │ ├── claims-processing.html │ │ │ ├── contact.html │ │ │ ├── customer-portal.html │ │ │ ├── customer_support.html │ │ │ ├── dashboard.html │ │ │ ├── hr-manager.html │ │ │ ├── Lanka.jpeg │ │ │ ├── login.html │ │ │ ├── logo.jpeg │ │ │ ├── marketing-manager.html │ │ │ └── privacy-policy.html │ │ └── application.properties │ └── test/ ├── target/ ├── uploads/ ├── .gitattributes ├── .gitignore ├── DESIGN_PATTERNS_DOCUMENTATION.md ├── health_ins_db.sql ├── healthinsureonline.iml ├── hs_err_pid7584.log ├── hs_err_pid8740.log ├── hs_err_pid9024.log ├── hs_err_pid13168.log ├── hs_err_pid30892.log ├── hs_err_pid31388.log ├── mvnw ├── mvnw.cmd ├── pom.xml ├── replay_pid8740.log ├── replay_pid9024.log ├── replay_pid13168.log ├── replay_pid30892.log
- Java 21+
- Maven 3.8+
- Database (H2 for dev, MySQL/PostgreSQL for production)
- Git (for VCS)
-
Clone the repository
git clone https://github.com/your-org/healthinsureonline.git cd healthinsureonline -
Configure database connection
- Edit
src/main/resources/application.propertiesfor your RDBMS credentials, JDBC URL, username, password, etc.
- Edit
-
Build the project
mvn clean install
-
Run the application
mvn spring-boot:run
The backend will launch on http://localhost:8080 by default.
-
Access the frontend
- Open
http://localhost:8080/login.htmlin your browser or navigate to another static HTML page as needed.
- Open
-
(Optional) Initialize DB
- Use the script
health_ins_db.sqlto create and seed the initial schema/data if not auto-configured.
- Use the script
| Purpose | Command |
|---|---|
| Build project | mvn clean install |
| Run application | mvn spring-boot:run |
| Run tests | mvn test |
| Package JAR | mvn package |
| Generate DB schema | Auto via JPA/Hibernate or use .sql script |
- For production, package and deploy the JAR/WAR to your application server.
- Configure
application.propertiesfor production database and credentials. - Serve the
static/directory assets with appropriate caching and HTTPS.
- application.properties: Central config for DB, ports, mail, security, etc.
- Email: Outgoing email settings (optional, see
EmailConfig) - Security: User roles and JWT settings in
SecurityConfig.
This project intentionally applies several design patterns for maintainability and scalability, documented in DESIGN_PATTERNS_DOCUMENTATION.md. Examples include Singleton, Factory, Builder, Strategy, and Observer.
- All sensitive data is encrypted in transit and at rest.
- Passwords are hashed (never stored in plain text).
- Role-based access via Spring Security.
- Input validation and CSRF protection.
- Privacy Policy provided at
/privacy-policy.html.
Contributions are welcome!
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/your-feature) - Create a pull request
Please read our CODE_OF_CONDUCT.md and development standards before contributing.
- General Support: contact.html
- Email: privacy@lankahealthins.com
- Data Protection Officer: dpo@lankahealthins.com
- Address: 123, Wellness Road, Colombo 1, Sri Lanka
For any bug reports or queries, please open an issue.
This project is licensed under the MIT License. See the LICENSE file for details.
© 2025 Lanka Health Insurance. All rights reserved.