Skip to content

This microservice handles email notifications and reminders for flight bookings within the larger AeroVerve. It uses an MVC (Model-View-Controller) architecture and integrates with a message broker for asynchronous communication.

Notifications You must be signed in to change notification settings

SudoKMaar/aeroverve-reminder-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AeroVerve - Reminder Microservice

Welcome to the Reminder Microservice of the AeroVerve. This microservice handles email notifications and reminders for flight bookings within the larger AeroVerve. It uses an MVC (Model-View-Controller) architecture and integrates with a message broker for asynchronous communication.

Table of Contents

Introduction

The Reminder Microservice is a crucial part of the AeroVerve, responsible for managing email notifications and reminders for flight bookings. It interacts with Nodemailer for sending emails, Sequelize for database operations, and a message broker (like RabbitMQ) for communication with other microservices.

Features

  • Send email reminders for flight bookings.
  • Utilize Nodemailer for email sending functionality.
  • Integrate with a message broker for asynchronous communication.
  • Utilize Sequelize for database operations related to email reminders.

Installation

  1. Clone the repository:

    git clone https://github.com/SudoKMaar/aeroverve-reminder-service.git
    cd aeroverve-reminder-service
  2. Install dependencies:

    npm install

Configuration

  1. Configure environment variables:

    Create a .env file in the root directory and set the required values:

    PORT=4003
    EMAIL_ID=your_email@gmail.com
    EMAIL_PASS=your_email_app_password
    MESSAGE_BROKER_URL=rabbitmq://localhost
    EXCHANGE_NAME=booking_exchange
    REMINDER_BINDING_KEY=booking_reminder
  2. Update config/config.json with your database settings.

Usage

  1. Start the microservice:

    npm start
  2. Access the microservice's functionality via appropriate routes.

API Endpoints

  • POST /api/v1/tickets: Create a new email reminder for a flight booking.

Scheduled Jobs

The microservice employs scheduled jobs to manage pending email notifications. The jobs run at intervals to check for pending emails and send them accordingly.

Message Queue

The microservice uses a message broker (e.g., RabbitMQ) to communicate asynchronously with other microservices. It subscribes to relevant events and publishes messages when required.

Contributing

Contributions are welcome! Feel free to open issues or pull requests related to the Reminder Microservice.

License

This project is licensed under the MIT License.


AeroVerve - Elevating Flight Booking Experiences

About

This microservice handles email notifications and reminders for flight bookings within the larger AeroVerve. It uses an MVC (Model-View-Controller) architecture and integrates with a message broker for asynchronous communication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published