User Story:
As a CS student with a busy schedule and constant influx of emails, I want a service that seamlessly retrieves my emails from Gmail, structures them in a format that a sorting system can understand, and then inputs them into this sorter. This process will ensure that my emails are efficiently categorized, allowing me to quickly identify and prioritize my most important messages, thereby enhancing my productivity and reducing the time spent on email management.
persona: People who receive high volume of emails daily and seek solution to help them filter and summarize emials to foucus on high-priority communication.
feature: format collected emails into a structure acceptable to the sorter, and then feed them into the sorter.
business value: emails can be efficiently processed and categorized.
Tasks:
Email Formatting:
[x] Define a data structure or class to represent the formatted email with "Subject" and "Body".
[x] Implement a transformation function that converts emails from the GMAIL format to the defined structure.
Feeding to Sorter:
[x] Integrate the formatted email structure with the sorter.
[x] Develop a mechanism to batch and feed emails to the sorter.
(Already exists, but needs to be modified)
Testing the ETL Process:
[x] Write unit tests for the email fetching and formatting functions.
[x] Develop integration tests to verify the ETL process from email collection to sorting.
[x] Ensure coverage for various edge cases and error scenarios.
Acceptance Criteria:
[x] Email Formatting: Emails are transformed into a predefined structure with "Subject" and "Body," ready for sorting.
[x] Sorter Integration: Formatted emails are batched and fed into the sorter without errors.
All of these will be demonstrated with associated Mock and Integration tests.
User Story: As a CS student with a busy schedule and constant influx of emails, I want a service that seamlessly retrieves my emails from Gmail, structures them in a format that a sorting system can understand, and then inputs them into this sorter. This process will ensure that my emails are efficiently categorized, allowing me to quickly identify and prioritize my most important messages, thereby enhancing my productivity and reducing the time spent on email management.
Tasks:
Email Formatting:
Feeding to Sorter:
Testing the ETL Process:
Acceptance Criteria:
All of these will be demonstrated with associated Mock and Integration tests.