Official Internship Project | Java Full-Stack Development
Prodex is a comprehensive Enterprise Resource Planning (ERP) and Procurement portal developed during my internship at Xworkz. The system is designed to streamline organizational workflows, manage member lifecycles, and automate product procurement processes with high security and performance.
- Credential Protection: Implemented BCrypt hashing for sensitive data storage.
- Brute-Force Prevention: Engineered a state-driven account-locking protocol that triggers after 3 failed login attempts.
- Secure Recovery: OTP-based password resets with automated background tasks to clean up expired tokens every 2 minutes.
- Lifecycle Management: Members can initiate purchase requests; Administrators can approve, reject, or comment via a centralized dashboard.
- Smart Reminders: Integrated
ThreadPoolTaskSchedulerto send asynchronous email notifications to admins for pending requests (24h/48h intervals).
- Geo-Data Service: High-performance AJAX mapping using a 47MB JSON master file, loaded into memory at startup via
@PostConstructfor zero-latency lookups. - Scalable UI: Implemented server-side Pagination and Named Queries to ensure the system remains responsive even with thousands of records.
- Backend: Java 8, Spring MVC (5.x), Hibernate (JPA 2.1)
- Database: MySQL 8.0
- Frontend: JSP, JSTL, JavaScript (AJAX), Bootstrap 5
- Automation: Spring Task Scheduling & JavaMail Sender
- Build Tool: Maven
| Module | Description |
|---|---|
| Login & Security | OTP Authentication & Secure Portal Access |
| Admin Dashboard | Oversight of Member activity and System Metrics |
| Procurement | Purchase request history and Status Tracking |
(Note: High-resolution screenshots are available in the /Media folder)
- Clone the Repo:
git clone https://github.com/your-username/Internship-project.git - Database: Create a MySQL schema and run the provided SQL scripts in
/Documentation. - Configuration: Update
db.propertiesandmail.propertiesinsrc/main/resources. - Deploy: Build with Maven and deploy the
.warfile to Apache Tomcat 9.0.
Developed by Mallikarjun | 2026 Internship Project