Java Bank Management System -- 2

Job ID: 39726398

Budget: ₹1,500 – ₹12,500 INR

I have mapped out a console-based Bank Management System and now need the full implementation in Java with JDBC talking to a MySQL back-end. The goal is to let bank staff create and manage customer accounts safely while the program enforces all business rules.

Core flow
• Account Creation – the program must auto-generate a 12-digit account number that always begins with 99880.
• Data Capture – name, Aadhaar (exactly 12 digits), age, profession, address, nominee name, opening balance, and a 4-digit PIN.
• Validation – reject anything that breaks the Aadhaar, PIN, or numeric age rules (I may extend age to “18+” later, so leave that check in one method for easy change).
• Database – persist every customer record in a properly normalised MySQL table via JDBC. Use prepared statements, meaningful constraints, and clear SQL scripts for table creation.
• Receipt – immediately show a readable account summary on the console after a successful insert.

Deliverables
1. Well-commented Java source (Core Java + JDBC) that compiles with Java 11+.
2. SQL file(s) for schema and sample constraints.
3. README with build/run steps and a quick demo GIF or screenshot.
4. Git repository (GitHub link or zip) with clean commit history.

Acceptance criteria
• Running `mvn clean package` (or a simple `javac` command if you stay vanilla) builds the app without warnings.
• `java -jar` (or `java Main`) launches, walks through account creation, enforces every validation, writes the row to MySQL, and prints the receipt.
• Code quality: meaningful class names, no hard-coded credentials, and helpful output messages.

Feel free to add small enhancements—log4j or SLF4J logging, custom exceptions, or a basic menu—but please keep it strictly console-based so deployment stays simple.