π Comprehensive Task Management System for IT Companies - Build enterprise-grade project management applications with JavaFX, role-based access control, and advanced reporting
Welcome to the TaskApp-JavaFX repository! This comprehensive task management system is designed specifically for IT companies, providing robust project management, task tracking, and reporting capabilities. Built with JavaFX and featuring a layered architecture, the system supports three distinct user roles (Administrator, Manager, User) with tailored interfaces and permissions for each role.
Developed as part of the Team Programming course, this project demonstrates best practices in desktop application development, database design, role-based access control, and team collaboration. The system features intuitive GUI design, comprehensive activity tracking, PDF report generation, and flexible team management capabilities.
TaskApp-JavaFX/
βββ π₯οΈ CODE/ # Application source code
β βββ π src/
β β βββ π main/
β β β βββ β java/ # Java source files
β β β β βββ controllers/ # JavaFX controllers
β β β β βββ models/ # Data models
β β β β βββ services/ # Business logic
β β β β βββ utils/ # Utility classes
β β β β βββ MainApplication.java
β β β βββ π resources/
β β β βββ fxml/ # FXML layout files
β β β βββ css/ # Stylesheets
β β β βββ images/ # Application images
β β βββ π test/ # Unit tests
β βββ π¦ pom.xml # Maven configuration
β βββ π README.md # Code documentation
βββ π¨ GUI/IMG/ # GUI screenshots and mockups
β βββ π Login.png # Login interface
β βββ π Registration.png # Registration screen
β βββ π¨βπΌ DashboardAdmin.png # Administrator dashboard
β βββ π ManagerDashboard.png # Manager dashboard
β βββ π€ UserDashboard.png # User dashboard
β βββ π AddingTasks.png # Task creation
β βββ βοΈ EditTask.png # Task editing
β βββ π₯ AdminTeams.png # Team management
β βββ ποΈ AdminTeamCreation.png # Team creation
β βββ βοΈ AdminSettings.png # System settings
β βββ π AdminReports.png # Reporting interface
βββ π UML/ # UML diagrams
β βββ π UseCaseDiagram.png # Use case diagram
β βββ π ChartActivities1-7.png # Activity diagrams
β βββ π SequenceDiagram3-6.png # Sequence diagrams
βββ ποΈ SQL/ # Database scripts and ERD
β βββ π erd1.png # Entity Relationship Diagram 1
β βββ π erd2.png # Entity Relationship Diagram 2
β βββ π migration.sql # Database migrations
β βββ π± seeder.sql # Database seed data
βββ π DAILY/ # Daily progress reports
βββ π DOC/ # Documentation and images
βββ π§ INSTALL/ # Installation files
βββ π JAVA_DOCS/ # JavaDoc documentation
βββ π PDF/ # PDF documentation
βββ π SLIDES/ # Presentation slides
βββ π LICENSE # Project license
βββ π README.md # Project documentation
git clone https://github.com/dawidolko/TaskApp-JavaFX.git
cd TaskApp-JavaFX# Navigate to SQL directory
cd SQL
# Create database and run migrations
mysql -u root -p < migration.sql
# Seed database with initial data
mysql -u root -p < seeder.sql# Navigate to CODE directory
cd CODE
# Build with Maven
mvn clean installmvn javafx:runRun MainApplication class in your Java IDE (IntelliJ IDEA, Eclipse, NetBeans)
- Java Development Kit (JDK) 11 or higher
- JavaFX SDK 11 or higher
- Maven 3.6 or higher
- MySQL 5.7 or higher
- Git for version control
- IDE (IntelliJ IDEA, Eclipse, NetBeans)
- Scene Builder for FXML editing (optional)
- MySQL Workbench or similar database tool
- Maven build automation
- JavaFX Scene Builder for visual FXML editing
- MySQL Workbench for database management
- Git GUI Client (GitKraken, SourceTree)
- UML Diagramming Tool (StarUML, Visual Paradigm)
- JavaFX Controls for UI components
- JavaFX FXML for layout management
- JavaFX Graphics for animations
- JavaFX Web for embedded browser (optional)
- Three distinct user roles: Administrator, Manager, User
- Role-based access control (RBAC) system
- Create, edit, and delete user accounts
- Secure authentication and authorization
- User profile management and preferences
- Activity logging and audit trails
- Create, assign, and track tasks
- Task priority levels and status tracking
- Due date management and reminders
- Task progress monitoring
- Task categorization and tagging
- Bulk task operations
- Task dependencies and relationships
- Create and manage development teams
- Assign team members and leaders
- Team performance analytics
- Team workload distribution
- Cross-team collaboration support
- Team hierarchy and organization
- Generate detailed PDF reports
- Customizable report filters (status, priority, assignee, date range)
- Task completion statistics
- Team performance metrics
- Project progress reports
- Export data in multiple formats
- Customize system settings and preferences
- Define custom task statuses
- Configure priority levels
- Set up notification rules
- Manage system roles and permissions
- Theme and appearance customization
- Robust MySQL database backend
- Data persistence for all entities
- Transaction management
- Database migration support
- Automated backup capabilities
- Query optimization
- Monitor user activities and actions
- System logs with detailed timestamps
- User session management
- Error logging and debugging
- Performance monitoring
- Security audit trails
- Intuitive JavaFX-based GUI
- Smooth animations and transitions
- Responsive layout design
- Custom themes and styling
- Accessibility features
- Multi-window support
The project follows a layered architecture pattern:
- User interface components
- FXML layouts and controllers
- CSS styling and animations
- Input validation and user feedback
- Service classes for core functionality
- Business rules and validation
- Data processing and transformation
- Error handling and logging
- Database connection management
- SQL queries and stored procedures
- ORM-like data mapping
- Transaction handling
- Data persistence and storage
- Relational data model
- Indexes and constraints
- Backup and recovery
- Java 11+ - Core programming language
- JavaFX - Desktop UI framework
- Maven - Build automation and dependency management
- FXML - Declarative UI markup language
- CSS - Stylesheet language for JavaFX
- MySQL - Relational database management system
- JDBC - Java Database Connectivity
- JUnit - Unit testing framework
- Log4j - Logging framework
Secure login interface with authentication
User registration with validation
Complete system overview for administrators
Team management and monitoring
Intuitive team creation interface
Comprehensive team editing capabilities
Employee addition with role assignment
System-wide configuration settings
Activity logs and system monitoring
Comprehensive reporting interface
Team and project management dashboard
Team member overview and management
Manager-specific configuration options
Team performance and task reports
Personal task dashboard for users
Profile editing and personal information
User preference and notification settings
Task creation with detailed fields
Task modification and status updates
Complete system use cases and user interactions
User authentication and authorization flow
Task creation and management processes
Administrative operations and oversight
System component interaction sequences
Database communication and data flow
User role-based interaction patterns
Task processing and update sequence
Main database structure and entity relationships
Detailed entity attributes and constraints
- Dawid - Frontend Development (JavaFX UI, animations, user experience)
- Piotr - Backend Development (business logic, service layer, database integration)
- Εukasz - Database Design and Implementation (schema design, migrations, optimization)
- Piotr - Database Support (query optimization, stored procedures, data integrity)
Comprehensive project documentation available in multiple formats:
- π SLIDES/ - Project presentations and overviews
- π PDF/ - Detailed technical documentation
- π JAVA_DOCS/ - JavaDoc API documentation
- π DOC/ - Additional guides and references
- π DAILY/ - Daily progress reports and updates
π§ In Development - Active development as part of Team Programming coursework
Completed Features:
- β User authentication and role management
- β Task creation and tracking
- β Team management
- β Reporting system
- β Database integration
- β UI/UX design for all user roles
In Progress:
- π Advanced analytics dashboard
- π Real-time notifications
- π Mobile companion app
Contributions are highly welcomed! Here's how you can help:
- π Report bugs - Found an issue? Let us know!
- π‘ Suggest improvements - Have ideas for better features?
- π§ Submit pull requests - Share your enhancements and solutions
- π Improve documentation - Help make the project clearer
Feel free to open issues or reach out through GitHub for any questions or suggestions.
Created by the TaskApp Development Team - Part of the Team Programming course series.
This project is open source and available under the MIT License.






