The Email Sync Application is designed for organizations to manage and synchronize email communication between users and guests. Admins can assign tasks, and users can structure and send emails, with statuses and histories tracked for auditing. This application leverages Spring Boot for backend logic and Thymeleaf for the user interface. Features
Task Assignment: Admins can assign tasks to users.
Email Structuring: Users can create structured emails to be sent to guests.
Status Tracking: Track the status of tasks (e.g., Pending, Completed).
Notification System: Notify users when tasks are assigned or updated.
History Logs: Record and view task-related activities.
Autogenerated User Credentials: Usernames and passwords are autogenerated upon account creation.
auto generate username and password

Email acceptance and rejection button in email itself

After pressing the button(say accept):
[the calender is restericted in dates from start and 10 days ahead)

The core idea of the Email Sync Application is to create a structured, trackable workflow for email-based tasks within an organization, centered around distinct roles and tables to manage the process.
Key Workflow:
-
Task Assignment by Admin: The Admin assigns tasks, and each assignment is stored in the Notification Table.
-
Email Structuring by Coordinator: After receiving the notification, the assigned Coordinator structures the content for the email and stores it in the Structure Table. This ensures that each email follows a standardized, professional format.
-
Email Status Tracking: Once the email is sent, it moves to the Status Table, where the system tracks whether the email has been accepted, rejected, or is pending. A key feature is that the recipient (like an expert or guest) can click a button in the email to update its status.
-
History and Public Access: After the status is confirmed, the interaction is recorded in the History Table for future reference. Certain interactions can be made public, allowing access to relevant users or departments.
Streamlined Flow: Each task follows a structured path from creation to completion, ensuring no step is missed.
Role-Specific Actions: The process is managed through different roles (Admin, Coordinator) with clear responsibilities at each stage.
End-to-End Tracking: Each email's journey from creation to response is fully tracked, ensuring accountability and transparency.
Automated Status Confirmation: Recipients can directly update the email status, integrating real-time feedback into the system.
This structured, automated flow significantly reduces manual effort, improves communication transparency, and enhances accountability across the organization.
Backend: Spring Boot (Spring Data JPA, Spring Security, Hibernate)
Frontend: Thymeleaf, HTML/CSS/JavaScript
Database: MySQL database
Security: Spring Security for authentication and authorization
git clone https://github.com/KKWIEERProjects/Email-Sync
cd activitiesBackend
Set Up Database:
add db.config.properties file in reource:
spring.datasource.url=jdbc:mysql://localhost:3306/your_db_name spring.datasource.username=your_username spring.datasource.password=your_password
Build and Run:
-go to activitiesBackend folder
bash
mvn clean install
mvn spring-boot:run
Access the Application: Navigate to http://localhost:8080/ in your browser.
Usage
Admin: Assign tasks to users and monitor their progress.
User: Structure emails and submit them for guests.
You are granted a non-exclusive, non-transferable, and revocable license to use this software under the following conditions:
- The flow or design pattern inherent in this project may not be replicated or used in any form, including but not limited to personal or commercial use.
- Redistribution of any portion of the code is prohibited unless explicitly authorized by the owner.
- Modifications of the code are allowed only for internal purposes, and cannot be shared or published externally without permission.
Prohibition on Replicating Flow: The flow, architecture, and specific sequence of operations demonstrated in this project (hereafter "Flow") are proprietary to the owner. Use of the Flow in other projects, products, or services without explicit permission from the owner is strictly prohibited. This includes, but is not limited to, the reproduction of workflow patterns, business logic structures, and user journey implementations.
Contributions are always welcome!
See contributing.md for ways to get started.
Please adhere to this project's code of conduct.





