{"id":22161194,"url":"https://github.com/mr-destructive/capes","last_synced_at":"2026-05-10T09:39:22.805Z","repository":{"id":42152565,"uuid":"471246320","full_name":"Mr-Destructive/CAPES","owner":"Mr-Destructive","description":"Content Aggregator + Email Sender System","archived":false,"fork":false,"pushed_at":"2022-05-02T16:58:30.000Z","size":224,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T20:37:28.738Z","etag":null,"topics":["django","python"],"latest_commit_sha":null,"homepage":"","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/Mr-Destructive.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}},"created_at":"2022-03-18T05:26:39.000Z","updated_at":"2022-05-02T15:24:07.000Z","dependencies_parsed_at":"2022-08-12T08:10:18.094Z","dependency_job_id":null,"html_url":"https://github.com/Mr-Destructive/CAPES","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Destructive%2FCAPES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Destructive%2FCAPES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Destructive%2FCAPES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Destructive%2FCAPES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mr-Destructive","download_url":"https://codeload.github.com/Mr-Destructive/CAPES/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245295680,"owners_count":20592083,"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","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":["django","python"],"created_at":"2024-12-02T04:13:38.476Z","updated_at":"2026-05-10T09:39:22.767Z","avatar_url":"https://github.com/Mr-Destructive.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Content Aggregation + Email System (CAPES)\n\nContent Aggregator and Email Sender System is a web application for sending and scheduling mails. \n\n## Developer Guide\n\nBelow is a step-by-step guide to setup the project in your local development environment. \n\n### Installation\n\n```\npip install virtualenv\n\nvirtualenv venv\n\nWindows:\nvenv\\Scripts\\activate\n\nLinux/macOS:\nsource venv/bin/activate.sh\n\npip install -r requirements.txt\n\npython manage.py migrate\n\npython manage.py runserver\n```\n\n### Using Docker Compose\n\n```\ndocker-compose up\n```\n\n## Creating a Environment keys file\n\nCreate a file called `.env`on the root of the project structure i.e. the same folder where `manage.py` file is located.\n\n### Database details\n\nAdd the following database details as per your configuration of PostgreSQL database.\n\n```\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=password\nPOSTGRES_DB=name_of_database\n```\n\n### Generating Secret key\n\nTo generate a `SECRET_KEY`, you need to open a Python REPL and enter a few commands.\n\n```\npython\n\nimport secrets\n\nsecrets.token_hex(24)\n```\n\nCopy the token without the quotes. Add the following in the `.env` file with the copied token.\n\n```\nSECRET_KEY=paste_the_token_here\n```\n\n## User Instructions\n\nBelow are the user-level instructions for accessing and utilizing the application for sending emails.\n\n### Simple User Account\n\nWe simple take in a few inputs for better accountability and proper delivery of emails. We take in the following inputs from the user:\n\n1. Username\n2. Email (Gmail Account)\n3. Password\n4. Google Apps Password\n\n### Generate GAPPS key for sending emails\n\nTo be able to send emails, we need a Google Application Key, it is a simple 15 digit key that is used instead of your master password to authenticate you for sending mails.\n\nThe Google Apps Key/Password is on only when you have 2FA (Two Factor Authentication) enabled for your GMail Account. After enabling the 2FA, you can head over to the Security Tab and inside the `Signing into Google` Section, you should see the `App Password` option. \n\nYou can create a `Mail` app for your desired Operating System and generate the password. Copy the password and store it in a secure place, we would need that for registering for a account on the project. \n\n## User Interface\n\n- Search for a keyword\n- View the Latest Articles from the searched term.\n- Head towards the Send Mail Section.\n- Add the required details\n    - Mail Recipients (enter manually or extract from CSV file)\n    - Subject\n    - Edit/Preview the Mail body\n    - Schedule type (once/weekly/monthly)\n- Send the mail\n\n![Home Screen](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/homepage.png)\n\n![Register Account](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/register.png)\n\n![Login Page](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/login.png)\n\n![Search Result Page](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/searchpage.png)\n\n![Mail Form](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/mailform.png)\n\n![RSS Feed Link Adder](https://res.cloudinary.com/dgpxbrwoz/image/upload/v1651424595/capes/rss_feed_link_adder.png)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-destructive%2Fcapes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-destructive%2Fcapes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-destructive%2Fcapes/lists"}