Private, high-performance messaging system powering real-time communication across the Softadastra ecosystem.
- Overview
- System Architecture
- Database Schema
- Access Policy
- Planned API Endpoints
- Contribution Workflow
- Tech Stack
- Internal References
- Confidentiality Notice
Softadastra Chat is a private, production-grade messaging module designed for the Softadastra Marketplace.
It connects buyers and sellers through a fast, encrypted, and event-driven system built with Node.js and WebSockets.
- 💬 Instant text messaging between users
- 🖼️ Image uploads — single or batch
- ✉️ Mixed content (text + media)
- 🔔 Real-time notifications via WS
- 👁️ Read receipts & presence indicators
- 📦 Persistent message storage (SQLite / MySQL)
- 🧠 Scalable architecture designed for large user bases
Client (SPA / Mobile)
↓ WebSocket + REST
Node.js Server (Softadastra Chat)
↓
Database Layer (SQLite / MySQL)
↓
Softadastra Core API / Notification Hub
Each WebSocket connection is authenticated via a JWT or secure ticket, and all data exchanges follow the internal event protocol used by the Softadastra real-time infrastructure.
SQL schema is defined in /database/schema.sql:
| Table | Description |
|---|---|
| chat_threads | Represents a conversation between two users |
| chat_messages | Stores individual messages (text, image, or both) |
| chat_message_batches | Supports multiple images per message |
| chat_message_status | Tracks delivery and read status |
| notifications | Global user notification system |
⚠️ Confidential Module — Internal use only.
| Access Type | Permission |
|---|---|
| 🔓 Code Read | Authorized contributors only |
| 🔄 Pull Requests | Allowed after approval |
| 🚫 Deployment | Forbidden without core validation |
| 🚫 External Forks | Strictly prohibited |
| Endpoint | Description | Status |
|---|---|---|
POST /chat/send |
Send a new message | 🔄 Planned |
GET /chat/messages |
Retrieve messages in a thread | 🔄 Planned |
GET /chat/threads |
List user conversations | 🔄 Planned |
WS /chat |
Real-time updates & presence | ✅ Active |
WS /notifications |
Notification stream | ✅ Active |
- 🔀 Create a branch →
feature/<name> - 💻 Implement and test locally
- 🔁 Open a Pull Request for review
- ✅ Merge only after approval by the Softadastra Core Team
All commits are scanned for security via gitleaks and must follow the Softadastra commit conventions.
| Layer | Technology |
|---|---|
| Runtime | Node.js |
| Framework | Express.js |
| WebSocket Engine | ws |
| Database | SQLite / MySQL |
| Auth | PHP-JWT & WS Ticket Validation |
| Utilities | Multer, CORS, Compression, Cookie Parser |
- 🏢 Main Repository: softadastra
- 🌍 Base API Endpoint:
https://softadastra.com/api/chat - 👨💻 Technical Lead: @GaspardKirira
- 🔗 Ecosystem: Softadastra Marketplace
This repository and all its contents are strictly confidential.
Unauthorized access, reproduction, or redistribution is prohibited.
All commits and access events are logged and monitored.
🟠 Together, we’re building Africa’s next-generation commerce infrastructure.
— The Softadastra Engineering Team