Skip to content

AbdassalamAhmad/Job_Alerts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job Alerts

Job Alerts is a repository designed to assist individuals in seeking their ideal job, eliminating the necessity of regularly visiting company websites to check for new available positions.

Every day at 8:00 AM, the user will receive an email containing updates on the companies they are interested in working for, notifying them whether these companies have any new job openings or not.

Project Architecture

Project Architecture

Getting Started

  1. Install AWS CLI and configure it with your account credentials. for more info
  2. Install Terraform Terraform Installaion Page
  3. Clone this repo.
  4. Install requests library and urllib3==1.25.4 (for compatibility issue)
mkdir python
cd python
pip install urllib3==1.25.4 requests -t .
  1. Compress the python dir in a .zip format with this name requests_library.zip in the top directory of the repo.
  2. Open terraform\values.auto.tfvars file and fill in these values
    • sender_email: is the email of the sender (You😄) (you should own it and verify it in SES).
    • receiver_email: is the email of the reciever (You too😄) (you should own it and verify it in SES as well).
    • region: your closest AWS region.
    • account_id: your AWS account id.
    • job_title: is the job title you're looking for.
  3. open lambda_function.py after lines 102, add more URLs of the career pages for companies you want to work for.
  4. Terraform apply
cd terraform
terraform apply --auto-aprove  
  1. Finally, go to your gmail for the sender and receiver email that you set earlier. and verify the identity to make AWS able to send the email from the sender to the reciever on your behalf.
    Note: I've tried putting the same email for both sender and reciever, and it worked but I got a warnning from gmail, so i used two accounts.
  2. Wait at 8:00 AM Cairo-Time (GMT +3) to receive the first email, OR you can go to your AWS lambda Search_for_Jobs and do a test from there and you should get an email as well.

How to Destory AWS Resources

  • Simply run terraform destroy --auto-approve

TO-DO List

  • Transform this project into Dynamic Newsletter, where usesrs can choose the title and companies, then emails will be sent to them directly without the need of building this project.
  • Put the state file in a seperate S3 Bucket.
  • Make the logic of sending the emails clearer.
  • Add tests to Lambda function code.
  • Try to use OOP (any ideas are appreciated).

Get in Touch

If you have any questions, suggestions, or feedback, please feel free to reach out to me on my LinkedIn account.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published