This API allows users to create, update, get, and delete job listings, as well as subscribe to job email notifications based on selected tags. The payment is handled via Stripe, and a RabbitMQ listener sends email notifications to subscribers when a job matching their selected tags is created.
- Create job
- Update job
- Get job
- Get all jobs
- Delete job
- Subscribe to job emails by selecting tags and creating a payment with Stripe
- RabbitMQ listener sends email to subscribed users when a job matching their tags is created
- Node.js
- Express.js
- PostgreSQL
- Stripe API
- RabbitMQ
- Nodemailer
- Clone this repository
- Install dependencies with
npm install
- Set environment variables or copy the example.env file to a new .env file and modify as needed
- Start the server with
node start
- POST
/jobs
- create a new job listing - PUT
/jobs/:id
- update an existing job listing - GET
/jobs/:id
- get a single job listing - GET
/jobs
- get all job listings - DELETE
/jobs/:id
- delete a job listing - POST
/jobs/subscriptions
- create a new job subscription with selected tags and payment with Stripe
Contributions are welcome! Please submit a pull request or open an issue.
This project is licensed under the MIT License - see the LICENSE file for details.