Skip to content

Azizullah0/Messaging_Meeting_Notifications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Messaging Basics - Meeting Notifications

This project provides a simple REST producer and a CLI consumer using RabbitMQ and AMQP.

Modules

  • producer-service: REST API that publishes meeting events.
  • consumer-service: CLI listener that prints notifications.
  • shared: shared event model.

Requirements

  • Java 11+
  • Maven
  • Docker (for RabbitMQ)

Run RabbitMQ

docker compose up -d

RabbitMQ management UI: http://localhost:15672 (guest/guest)

Run the consumer (CLI)

mvn -pl consumer-service -am spring-boot:run

Run the producer (REST)

mvn -pl producer-service -am spring-boot:run

Send sample requests

curl -X POST http://localhost:8080/meetings \
  -H "Content-Type: application/json" \
  -d '{"purpose":"Study group","startTime":"2025-01-20T10:00:00Z","endTime":"2025-01-20T11:00:00Z"}'

curl -X PUT http://localhost:8080/meetings/meeting-123 \
  -H "Content-Type: application/json" \
  -d '{"purpose":"Updated study group","startTime":"2025-01-20T10:30:00Z","endTime":"2025-01-20T11:30:00Z"}'

Wireshark (AMQP capture)

  1. Start RabbitMQ and both services.
  2. Open Wireshark and start capture on the lo interface (loopback) or any.
  3. Use a display filter:
    • amqp (if Wireshark recognizes AMQP)
    • or tcp.port == 5672
  4. Trigger a request with curl and observe AMQP frames.
  5. Look for these packets:
    • Basic.Publish (producer sends message)
    • Basic.Deliver (RabbitMQ delivers to consumer)
    • Basic.Ack (consumer acknowledges)

If we run RabbitMQ in Docker, AMQP traffic still goes through localhost:5672, so the loopback interface is usually enough.

About

A messaging system using RabbitMQ for meeting notifications, featuring a REST producer service and a CLI consumer service built with Spring Boot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages