Capstone Overview
The capstone project is your opportunity to demonstrate everything you've learned in this Java course. Choose one of the provided project options or propose your own project that showcases comprehensive Java skills.
Project Options
Choose one of the following project options:
Option A: Hospital Management System
Build a comprehensive system for managing hospital operations including:
- Patient registration and records
- Doctor and staff management
- Appointment scheduling
- Medical records with file persistence
- Concurrent appointment handling
Option B: Stock Trading Simulator
Create a stock trading simulation with:
- Real-time price simulation (multithreaded)
- Portfolio management
- Buy/sell order processing
- Transaction history and reporting
- Multiple user support
Option C: Restaurant Management System
Develop a restaurant management application with:
- Menu management with categories
- Order processing and queue
- Table reservation system
- Staff scheduling
- Reporting and analytics
Option D: Your Own Project
Propose your own project that demonstrates:
- At least 10 classes with proper OOP design
- Collections framework usage
- File I/O or database integration
- Multithreading component
- Exception handling throughout
Technical Requirements
Mandatory Features (200 points)
- OOP Design (50 pts): At least 10 classes with inheritance and polymorphism
- Collections (40 pts): Use of Lists, Maps, Sets appropriately
- File I/O (30 pts): Data persistence using files (JSON, CSV, or serialization)
- Exception Handling (30 pts): Proper try-catch blocks and custom exceptions
- Multithreading (30 pts): At least one multithreaded component
- Code Quality (20 pts): Clean code, proper naming, comments
Bonus Features (up to 100 points)
- Spring Boot Integration (40 pts): REST API with Spring Boot
- Database Integration (30 pts): JPA/Hibernate with MySQL/PostgreSQL
- GUI (30 pts): JavaFX or Swing interface
- Unit Tests (20 pts): JUnit tests with good coverage
- Design Patterns (20 pts): Proper use of design patterns
Submission Guidelines
Required Deliverables:
- Source Code: Complete Java project with all source files
- README.md: Project description, setup instructions, how to run
- DESIGN.md: Architecture explanation with UML class diagram
- Build Files: Maven pom.xml or Gradle build.gradle
- Sample Data: Test data files if applicable
- Demo Video (Optional): 3-5 minute video demonstrating your project
Grading Rubric
| Criteria | Points | Description |
|---|---|---|
| OOP Design | 50 | Classes, inheritance, polymorphism, encapsulation |
| Collections Usage | 40 | Appropriate use of Lists, Maps, Sets |
| File I/O | 30 | Data persistence and file operations |
| Exception Handling | 30 | Proper error handling throughout |
| Multithreading | 30 | Concurrent operations properly implemented |
| Code Quality | 20 | Clean code, documentation, naming conventions |
| Bonus Features | up to 100 | Spring Boot, Database, GUI, Tests, Patterns |
| Base Total | 200 | |
| Maximum Total | 300 | With bonus features |
Congratulations on Completing the Java Course!
You've made it through a comprehensive journey from Java basics to advanced Spring Boot development. This capstone project is your chance to showcase everything you've learned. Good luck, and remember - the best way to learn is by building real projects!