https://github.com/sanchit0205/sc-solace-pubsub-messaging-app
A full-stack messaging application using Solace PubSub+ with React frontend and Flask backend
https://github.com/sanchit0205/sc-solace-pubsub-messaging-app
cloud messaging-app persistent-queue pubsub queue solace topic
Last synced: 2 months ago
JSON representation
A full-stack messaging application using Solace PubSub+ with React frontend and Flask backend
- Host: GitHub
- URL: https://github.com/sanchit0205/sc-solace-pubsub-messaging-app
- Owner: Sanchit0205
- Created: 2025-03-20T11:17:21.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-20T12:43:58.000Z (2 months ago)
- Last Synced: 2025-03-20T12:46:12.409Z (2 months ago)
- Topics: cloud, messaging-app, persistent-queue, pubsub, queue, solace, topic
- Language: Python
- Homepage: https://san-messaging-app.netlify.app/
- Size: 313 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SC-Solace-Pubsub-Messaging-App
A full-stack messaging application using Solace PubSub+ with React frontend and Flask backend**Author:** Sanchit Chavan
---## 📌 **Project Overview**
A **real-time messaging system** using **Solace PubSub+** with persistent queues, built with:
- 🐍 **Backend:** Flask-based APIs for message publishing & receiving.
- ⚙️ **Messaging Protocol:** Solace SMF with TLS encryption.
- 💻 **Frontend:** React app with live message display & tooltips showing timestamps.---
## ⚙️ **Tech Stack**
- **Languages:** Python, JavaScript
- **Frameworks:** Flask, React
- **Messaging:** Solace PubSub+ with TLS
- **Deployment:** Flask APIs & Netlify frontend---
## 🔥 **Message Flow**
1️⃣ **Publisher:**
- Sends messages to the Solace topic via a REST API.
- Secure TLS connection ensures encrypted traffic.2️⃣ **Solace Broker:**
- Routes messages to a **persistent queue**.
- Ensures guaranteed delivery.3️⃣ **Receiver:**
- Subscribes to the queue & retrieves messages asynchronously.
- Updates timestamps & stores messages in memory.4️⃣ **Frontend:**
- React app displays messages in real-time.
- Tooltips reveal `Sent at` & `Received at` timestamps on hover.---
## 🚀 **How to Run Locally**
### 🔥 **Backend (Flask)**
1. **Install dependencies:**
```bash
pip install -r requirements.txt
```
2. **Run Flask servers:**
```bash
python Publisher_Queue.py # Port 5001
python Receiver_Queue.py # Port 5002
```### ⚙️ **Frontend (React)**
1. **Install dependencies:**
```bash
cd queue-react
npm install
```2. **Start the app:**
```bash
npm start
```
**Ready To Go** 🎉