fleencorp / fleen-feen

Fleen Feen connects you with the world
GNU General Public License v3.0
0 stars 1 forks source link

Implement Calendar and Contact Management Enhancements #17

Closed aalamu closed 3 months ago

aalamu commented 3 months ago

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

  1. Calendar Management

    • [ ] Create CalendarController for retrieving and creating calendars.
    • [ ] Implement endpoints for calendar CRUD operations.
  2. 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.
  3. Event Management

    • [ ] Add method to remove uninterested attendees from Google Calendar events.
    • [ ] Create request class for removing attendees.
  4. Logging and Reporting

    • [ ] Configure custom Logback for Slack logging.
    • [ ] Develop ReporterServiceImpl and SlackAdapter for reporting activities.
    • [ ] Update SlackProperties and SlackColor for Slack integration.
  5. Asynchronous Operations

    • [ ] Configure ThreadPool TaskExecutor for async tasks.
    • [ ] Update services and methods for async operations with @Async annotation.
  6. 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.
  7. 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

Related Issues

Estimated Time