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.
- 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.
. ├── 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
- Clone the repository:
- Build and run the project using Docker Compose:
- 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" }'
git clone https://github.com/gleaming9/Bus_Notify.git
docker-compose up --build
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.