AutoTasker is a desktop application for task management, developed in Java with JavaFX, MySQL, and Hibernate (JPA).
The project follows the MVC architectural pattern and combines a modern GUI with a background service for e-mail integration.
- User roles: regular users and admins
- Tasks:
- Create, delegate, and track status
- Assigned tasks can be marked as in progress or completed
- Administrators:
- Manage tasks, users, departments, and e-mail addresses
- Control which e-mail addresses are allowed to create tasks (spam protection)
- E-mail integration:
- Tasks can be created remotely via e-mail
- Background service checks a Gmail inbox at intervals
- Modern UI:
- Built with JavaFX, FXML, and styled with CSS
- Security:
- Passwords are securely hashed using BCrypt
- Background service:
- Regularly processes incoming e-mails and automatically generates tasks
- MVC structure
- DAO package for database operations
- Service package for e-mail handling and business logic
- Controller for GUI logic
- EntityFactory (Singleton) for entities
- Two entry points:
MainApp(JavaFX GUI)MailServiceMain(background e-mail processor)
- Java 21
- JavaFX
- MySQL (database)
- Hibernate (JPA)
- BCrypt for password hashing
- Simmetrics (for text analysis of e-mails)
-
Clone the repository:
git clone git@github.com:your-github/AutoTaskerJavaFx.git
-
Set up a MySQL database:
-
Create an empty database (e.g. autotasker).
-
The required tables will be generated automatically by Hibernate + JPA when the application starts.
-
-
Configure Gmail account for e-mail integration:
-
Create or use a Gmail account dedicated to AutoTasker.
-
Enable App Passwords in your Google Account (requires 2FA).
-
Insert the generated app password into email.properties.
-
This account will be used by the background service to fetch incoming tasks.
-
-
Inside the resources folder, create two property files:
-
db.properties
-
email.properties
-
👉 Example templates are provided as db.properties.example and email.properties.example in the repository. Just copy them, rename, and adjust the values
-
Build with Maven:
mvn clean install
-
Run:
-
GUI: MainApp
-
E-mail service: MailServiceMain
-
-
Multi-language support (e.g. German, French, ...)
-
Additional features such as vacation or sick leave requests via e-mail
-
Logging and history of all changes
-
Project association for tasks (requires new DB table)
-
Automatic e-mail with login credentials and usage instructions for new users
Developed by saby-gaby
✨ Thank you for checking out AutoTasker! I hope you enjoy exploring the project as much as I enjoyed building it. 🚀