Skip to content

RabbitMQ를 활용한 Golang 기반 실시간 버스 도착 알림 서비스

Notifications You must be signed in to change notification settings

GDG-on-Campus-KHU/1st-BE-team5-BusNotify

Repository files navigation

🚍 Bus Notify Service

Language Framework Queue Deployment Status

A real-time bus notification service using RabbitMQ and Gin Framework.
Designed to provide accurate and timely bus arrival information for Gyeonggi-do bus stops.


📋 Features

  • Real-time Bus Info: Retrieve the arrival information of buses at a specified bus stop.
  • Custom Notifications:
    • Set bus stop, target time, and email for personalized notifications.
    • Receive notifications when the nearest bus is arriving within 15 minutes of the target time.
  • Server Health Check: Use `/health` endpoint to monitor server status.

📂 Project Structure

.
├── api              # External API integrations and data handling
├── consume          # RabbitMQ consumers and message processing
├── handlers         # Request and response handling
├── model            # Data models and structures
├── produce          # RabbitMQ publishers
├── routes           # API routing
├── service          # Business logic and core functionality
├── Dockerfile       # Dockerfile for container setup
├── docker-compose.yml # Docker Compose configuration
└── README.md        # Project documentation

🚀 How to Run

  1. Clone the repository:
  2. git clone https://github.com/gleaming9/Bus_Notify.git
  3. Build and run the project using Docker Compose:
  4. docker-compose up --build
  5. Access the API endpoints:
    • Health Check: curl http://localhost:9090/health
    • Bus Info: curl http://localhost:9090/bus-info?stationName=StationName
    • Alert:
      curl -X POST http://localhost:9090/alert \
      -H "Content-Type: application/json" \
      -d '{
          "stationName": "StationName",
          "email": "[email protected]",
          "targetTime": "15:30"
      }'
                  

📖 About

The Bus Notify Service was developed to provide a real-time bus arrival notification system. Utilizing RabbitMQ, the service processes notification requests and efficiently delivers email alerts for buses arriving near the target time. The project is containerized for easy deployment and management.

About

RabbitMQ를 활용한 Golang 기반 실시간 버스 도착 알림 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published