The Digital Device Protection Plan Management System is a Java-based web application designed to manage digital device protection plans efficiently. Users can register their devices, submit claims, and track the status of their claims. Admins have the ability to manage claims, including approving or rejecting them. The system enforces a maximum of three claims per device over a five-year protection period.
Secure user authentication and registration process.
Users can register their devices to be covered under the protection plan.
Users can submit claims for device repair or replacement.
Admins can approve or reject claims, and users can view the status of their claims.
Users receive notifications regarding the status of their claims.
The system enforces the protection plan rules, including the three-claim limit over five years.
- Session Management: Ensures that users and admins are properly authenticated. Sessions are invalidated on logout to prevent unauthorized access.
- Input Validation: All user inputs are validated on both the client and server sides to prevent SQL injection and other malicious inputs.
- Admin Account Creation Protection: Only authorized personnel can create admin accounts by requiring a secure token, which is stored in a server environment variable. This token must be provided during the admin registration process to prevent ordinary users from creating admin accounts.
- Role-Based Access Control: Differentiates between admin and user roles to restrict access to admin functionalities.
- SQL Injection Prevention: Prepared statements are used for all database queries to protect against SQL injection attacks.
- Java: Core programming language for the application.
- JSP: JavaServer Pages used for the frontend view.
- Servlets: Used for handling requests and responses between the frontend and backend.
- JSTL: JavaServer Pages Standard Tag Library used for easier JSP development.
- MySQL: Database used for storing user, device, and claim information.
- HTML/CSS: Used for creating and styling the user interface.
- JavaScript: For client-side validation and dynamic content.
src/main/
java/
controller/
dao/
model/
webapp/
WEB-INF/
css/
images/
jsp/
-
Clone the Repository:
git clone https://github.com/YourUsername/Digital-Device-Protection-Plan-Management-System.git
-
Setup the Database:
- Import the MySQL database schema provided in the
/db
directory. - Update the database configuration in the
DatabaseConnection.java
file.
- Import the MySQL database schema provided in the
-
Run the Project:
- Deploy the project on an Apache Tomcat server.
- Access the application via
http://localhost:8080/YourProjectName
.
- Email Notifications: Integrate email notifications for claim updates.
- Report Generation: Add functionality for generating reports for admins.
- Mobile Responsiveness: Enhance the UI for better mobile device compatibility.