{"id":25029194,"url":"https://github.com/okaditya84/automated-email-scheduling-api","last_synced_at":"2026-05-19T14:35:40.746Z","repository":{"id":251348151,"uuid":"837117786","full_name":"okaditya84/Automated-Email-Scheduling-API","owner":"okaditya84","description":"Backend fastAPI for automated email scheduling using APScheduler and modular approach.","archived":false,"fork":false,"pushed_at":"2024-08-02T11:53:45.000Z","size":896,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T18:45:01.459Z","etag":null,"topics":["api","backend","fastapi","hacktoberfest","hacktoberfest2024","python"],"latest_commit_sha":null,"homepage":"https://shipmnts-task-psi.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okaditya84.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T08:51:09.000Z","updated_at":"2024-10-11T12:02:45.000Z","dependencies_parsed_at":"2024-08-02T12:12:31.797Z","dependency_job_id":null,"html_url":"https://github.com/okaditya84/Automated-Email-Scheduling-API","commit_stats":null,"previous_names":["okaditya84/shipmnts-task","okaditya84/automated-email-scheduling-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/okaditya84/Automated-Email-Scheduling-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okaditya84%2FAutomated-Email-Scheduling-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okaditya84%2FAutomated-Email-Scheduling-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okaditya84%2FAutomated-Email-Scheduling-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okaditya84%2FAutomated-Email-Scheduling-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okaditya84","download_url":"https://codeload.github.com/okaditya84/Automated-Email-Scheduling-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okaditya84%2FAutomated-Email-Scheduling-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274578411,"owners_count":25310955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","backend","fastapi","hacktoberfest","hacktoberfest2024","python"],"created_at":"2025-02-05T21:00:25.162Z","updated_at":"2026-05-19T14:35:40.712Z","avatar_url":"https://github.com/okaditya84.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backend:Designing an Automated Email Scheduling API\n\n## Details of the project to be completed:\n### Objective: \nThe objective of this assignment is to design and implement an API that allows users to schedule emails for automatic delivery at specified times. This involves creating endpoints to accept payloads containing email details (recipient, subject, body) along with a schedule time, and implementing a backend process to handle the scheduling and sending of emails accordingly. The API will also include options for scheduling recurring emails on a daily, weekly, monthly, or quarterly basis, thereby automating the process of email delivery and ensuring that emails are sent as per user-defined schedules.\n\n\n\n\n## Installation\n\nCreate a new folder and work in that directory.\n\n```bash\n  mkdir email_automation_backend\n  cd email_automation_backend\n```\nOpen the terminal and clone the repo    \n```bash\n  git clone https://github.com/okaditya84/Shipmnts-Task\n```    \n\nCreate virtual env and activate it:\n```bash\npython -m venv env\nenv\\Scripts\\activate\n```\nDownload the dependencies:\n```bash\npip install -r requirements.txt\n```\n\nCreate a .env file and replace your credentials:\n```bash\nEMAIL_FROM=\u003cyour_email_in_quotations\u003e\nEMAIL_USER=\u003cyour_email_in_quotations\u003e\nEMAIL_PASSWORD=\u003cyour_password_in_quotations\u003e\n```\nInstall redis:\n```bash\ncurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg\n\necho \"deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/redis.list\n\nsudo apt-get update\nsudo apt-get install redis\n```\nrun redis on WSL\n\nRun the celery client:\n```bash\ncelery -A tasks worker --loglevel=info\n```\n\n### Steps to run:\nKeep the activated env ready\n\n```bash\npython app.py\n```\n\nTest the Endpoints on Postman.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokaditya84%2Fautomated-email-scheduling-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokaditya84%2Fautomated-email-scheduling-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokaditya84%2Fautomated-email-scheduling-api/lists"}