This project is a serverless application that periodically checks the Upwork RSS feed for new job postings related to React and sends email notifications for the new job listings. The application is built using Node.js and is deployed on AWS using the Serverless Framework.
- Fetches job postings from the Upwork RSS feed.
- Filters job postings based on their publication time.
- Sends email notifications for new job postings using SendGrid.
- Scheduled to run every 30 minutes.
- An AWS account for deploying the serverless application.
- A Serverless Framework account for managing and deploying your service.
-
Clone the repository:
git clone https://github.com/your-username/upwork-job-notifier.git cd upwork-job-notifier
-
Install dependencies:
yarn install
-
Set up environment variables: Create a
.env
file in the root of the project and add the following:EMAIL_TO=your_email@example.com EMAIL_FROM=your_email@example.com EMAIL_SENDGRID_API_KEY=your_sendgrid_api_key
The configuration for the serverless application is specified in the serverless.yml
file. Key configuration includes:
- Service: Name of the service (
upwork-job-notifier
). - Provider: AWS provider with Node.js runtime.
- Environment Variables: Email configuration for SendGrid.
- Plugins: TypeScript and dotenv plugins.
- Functions: Lambda function
jobsNotifierHandler
scheduled to run every 30 minutes.
To deploy the application to AWS using the Serverless Framework, run the following command:
serverless deploy
yarn invoke-jobs-notifier
To test the packager locally, run the following command:
serveless package