A comprehensive JavaFX desktop application for student productivity management — featuring task tracking, Eisenhower Matrix prioritization, Pomodoro timer, course management, goals & certificates tracking, and advanced analytics.
| Module | Description |
|---|---|
| 🔐 Authentication | Secure login & registration with BCrypt password hashing |
| 📋 Task Management | Full CRUD with priorities, categories, deadlines, and recurring tasks |
| 📊 Eisenhower Matrix | 4-quadrant task prioritization (Do First, Schedule, Delegate, Eliminate) |
| 📚 Course Management | Track courses, credit hours, instructors, and semesters |
| 🎯 Goals Tracker | Set academic, personal, and skill goals with progress tracking |
| 🏆 Certificates | Monitor certification progress and study hours |
| ⏱️ Pomodoro Timer | Focus sessions with start, pause, skip, and reset controls |
| 📈 Advanced Analytics | Productivity scores, task completion trends, study time distribution |
| 🎨 Modern UI | Dark glass-morphism design with custom CSS and smooth animations |
SmartStudy/
├── src/
│ ├── Main.java # Application entry point
│ ├── model/ # Entity classes (User, Task, Course, Goal, Certificate, Pomodoro)
│ ├── dao/ # Data Access Objects (JDBC)
│ ├── service/ # Business Logic Layer
│ ├── controller/ # JavaFX Controllers (15+ controllers)
│ ├── util/ # Utilities (DBConnection, SceneNavigator, SessionManager, PasswordUtil)
│ └── view/ # FXML files, CSS stylesheets, images
├── pom.xml # Maven configuration
├── schema.sql # Database schema
└── .gitignore
Design Pattern: MVC (Model-View-Controller) + DAO + Service layers
- Java JDK 17+
- Maven 3.9+
- MySQL 8.0+
git clone https://github.com/Hamza-zgh/SmartStudy-Plus.git
cd SmartStudy-Plus# Log into MySQL
mysql -u root -p
# Run the schema
source schema.sql;Update
src/util/DBConnection.javawith your MySQL credentials if needed.
mvn clean javafx:runThat's it! The application will launch automatically.
| Technology | Purpose |
|---|---|
| Java 17 | Core language |
| JavaFX 21 | Desktop GUI framework |
| FXML | Declarative UI layout |
| CSS | Custom styling (glass-morphism dark theme) |
| Maven | Build automation & dependency management |
| MySQL | Relational database |
| JDBC | Database connectivity |
| jBCrypt | Password hashing |
The application uses 6 main tables:
users— Authentication & profilestasks— Task management with Eisenhower flagscourses— Academic course trackinggoals— Personal & academic goalscertificates— Certification progresspomodoro— Focus session tracking
See schema.sql for full schema definition.
- ✅ BCrypt password hashing (salted, adaptive)
- ✅ Prepared statements (SQL injection prevention)
- ✅ Session-based user authentication
- ✅ User ownership validation on all data operations
- Recurring Tasks — Support for daily and weekly patterns (e.g., MON,WED,FRI)
- Eisenhower Matrix — Automatic task categorization with productivity scoring
- Real-time Statistics — Dynamic charts and KPI dashboards
- Responsive Dialogs — Modal windows for CRUD operations
- Persistent Sessions — Login state maintained during app lifecycle
This project is licensed under the MIT License.
Hamza ZGH
- 🐙 GitHub: @Hamza-zgh
- 🔗 Linkedin: @hamza-zoghlami
💡 Built with passion for productivity and clean code.















