We need to introduce several new features and improvements to enhance calendar management, contact handling, and overall project functionality and maintainability. This ticket outlines the tasks required to achieve these goals.
Tasks
Calendar Management
[ ] Create CalendarController for retrieving and creating calendars.
[ ] Implement endpoints for calendar CRUD operations.
Contact Management
[ ] Develop ContactService for managing user contacts.
[ ] Create DTOs, response, and request classes for contact and share contact features.
[ ] Implement BlockUserService with necessary repository, DTOs, and enums.
[ ] Develop ShareContactRequestService for handling contact sharing.
Event Management
[ ] Add method to remove uninterested attendees from Google Calendar events.
[ ] Create request class for removing attendees.
Logging and Reporting
[ ] Configure custom Logback for Slack logging.
[ ] Develop ReporterServiceImpl and SlackAdapter for reporting activities.
[ ] Update SlackProperties and SlackColor for Slack integration.
Asynchronous Operations
[ ] Configure ThreadPool TaskExecutor for async tasks.
[ ] Update services and methods for async operations with @Async annotation.
Refactorings and Enhancements
[ ] Refactor properties files and logging configurations.
[ ] Apply final modifier to variables and parameters where applicable.
[ ] Update and add new Liquibase SQL scripts for schema changes.
[ ] Improve documentation across various classes and methods.
[ ] Merge default methods in FleenUser to avoid duplication.
[ ] Update ValidationMessages.properties with new validation messages.
Miscellaneous
[ ] Configure Redis Pub/Sub for event streaming.
[ ] Create EmitterRepository for SSE interaction.
[ ] Add new methods and fields to support additional functionalities like stream management and messaging.
Acceptance Criteria
All new features and enhancements are implemented as outlined.
Code is refactored and cleaned up where necessary.
Proper documentation is provided for new services and methods.
Unit tests are written for new features, and existing tests are updated accordingly.
Changes are reviewed and approved by the designated reviewers.
Related Issues
Implementing these tasks should address issues #9, #10, #11, and #12.
Description
We need to introduce several new features and improvements to enhance calendar management, contact handling, and overall project functionality and maintainability. This ticket outlines the tasks required to achieve these goals.
Tasks
Calendar Management
CalendarController
for retrieving and creating calendars.Contact Management
ContactService
for managing user contacts.BlockUserService
with necessary repository, DTOs, and enums.ShareContactRequestService
for handling contact sharing.Event Management
Logging and Reporting
ReporterServiceImpl
andSlackAdapter
for reporting activities.SlackProperties
andSlackColor
for Slack integration.Asynchronous Operations
@Async
annotation.Refactorings and Enhancements
final
modifier to variables and parameters where applicable.FleenUser
to avoid duplication.ValidationMessages.properties
with new validation messages.Miscellaneous
EmitterRepository
for SSE interaction.Acceptance Criteria
Related Issues
Estimated Time