{"id":17601053,"url":"https://github.com/bvsam/ticker-notifier","last_synced_at":"2025-03-29T21:41:16.610Z","repository":{"id":258050723,"uuid":"872741779","full_name":"bvsam/ticker-notifier","owner":"bvsam","description":"Event driven finance notifications powered by AWS","archived":false,"fork":false,"pushed_at":"2024-11-18T21:01:41.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T22:24:30.285Z","etag":null,"topics":["aws","finance","ses"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bvsam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-10-15T01:54:51.000Z","updated_at":"2025-01-10T13:58:33.000Z","dependencies_parsed_at":"2024-11-18T22:18:34.917Z","dependency_job_id":"301f3f25-02e3-4b69-b658-bc08f66267ce","html_url":"https://github.com/bvsam/ticker-notifier","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"24c164e75e26e313b737779bbf9356732bdd2c6d"},"previous_names":["bvsam/ticker-notifier"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvsam%2Fticker-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvsam%2Fticker-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvsam%2Fticker-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvsam%2Fticker-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bvsam","download_url":"https://codeload.github.com/bvsam/ticker-notifier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246249222,"owners_count":20747167,"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":["aws","finance","ses"],"created_at":"2024-10-22T12:08:19.343Z","updated_at":"2025-03-29T21:41:16.590Z","avatar_url":"https://github.com/bvsam.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ticker-notifier\n\n## About\n\nAn AWS EventBridge chron job that triggers a Lambda function to send an email notification to a list of recipient email addresses when certain tickers have fallen a set percentage from their yearly highs.\n\n## Usage\n\n1. Install the dependencies required for the lambda function. These dependencies must be installed for the `manylinux2014_x86_64` architecture to `src/lambda/` to allow for the `src/lambda/` directory to be zipped and run as a AWS Lambda function.\n\n```\npip install -r requirements.txt --platform manylinux2014_x86_64 -t src/lambda/ --only-binary=:all:\n```\n\nIf you run into an error running the command above, run the command below on an Ubuntu 22.04 system (this can be done by running a Docker container with a bind mount).\n\n```\npip install -r requirements.txt -t src/lambda/\n```\n\n2. Create a `.tfvars` file at `src/main.tfvars`. Fill out the `.tfvars` file with all the required variables, which can be seen in `main.tf`. An example of what a `main.tfvars` file might look like is provided below.\n\n```\ndeployment_name = \"ticker-notifier\"\nregion = \"us-east-1\"\nsender_email = \"name@example.com\"\nrecipient_emails = \"[\\\"name@example.com\\\"]\"\neventbridge_schedule_expression = \"rate(1 day)\"\n```\n\nEnsure that the `sender_email` is a verified email address and that the `recipient_emails` can receive emails from the sender. As an example, you can setup your AWS SES to send emails from your personal email (e.g. Gmail) to your personal email, after it's been verified. This must be manually setup using the AWS console before the terraform code can be applied.\n\n3. Create a YAML config file for the Lambda function at `src/lambda/config.yaml`. Fill out the config file with valid configuration (an example is provided at `src/lambda/example_config.yaml`).\n\n4. Initialize terraform and apply the terraform code. Within the `src/` directory, run the following:\n\n```\nterraform init\n# Optional: terraform plan --var-file=main.tfvars\nterraform apply --var-file=main.tfvars\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvsam%2Fticker-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbvsam%2Fticker-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvsam%2Fticker-notifier/lists"}