Inboxly is a standalone, real-time messenger platform designed for teams and products that need a fully integratable communications inbox — at both the API level and code level. Build a hosted messaging service or embed Inboxly directly into your app for seamless messaging experiences.
⭐ Star this repository to support the project and attract contributors!
Inboxly provides a modern, secure, and extensible messaging inbox that supports direct messages, group chats, threading, message search, and attachments — all while being self-hostable and easy to integrate into existing codebases.
- 1:1 direct messages and group chats
- Threaded replies and message reactions
- Typing & presence indicators
- Read receipts and delivery status
- Message edit & delete
- Rich text, markdown, and code snippets
- File and image uploads with previews
- Attachment storage via local disk or S3-compatible stores
- Link preview & attachments metadata
- Real-time via Socket.IO / WebSockets
- Offline message queueing & local caching
- Sync across devices
- Endpoints protected via JWT auth
- Role-based access and admin controls
- Content moderation tooling (filters, reports)
- REST & GraphQL APIs for all operations
- SDKs/hooks for direct code-level embedding (Node.js/React examples)
- Plugin system for adding features (e.g., bots, automations)
- Webhooks for external integrations (CRM, notifications)
- Admin panel (user and conversation management)
- Basic analytics (message volume, active users)
- Export and backup utilities
| Layer | Technology |
|---|---|
| Frontend | React + Vite |
| Styling | Tailwind CSS |
| Backend | Node.js + Express |
| Database | MongoDB |
| Real-time | Socket.IO |
| Auth | JWT + RBAC |
| Storage | Local / S3-compatible |
| Hosting | Render / Vercel / DigitalOcean |
/inboxly
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── sockets/
│ └── server.js
├── frontend/
│ ├── components/
│ ├── pages/
│ └── App.jsx
├── sdk/ # Example SDKs for embedding (Node, React)
├── scripts/ # Migration & backup scripts
├── plugins/ # Optional plugin modules
├── .env.example
└── README.md
- Clone repo
git clone https://github.com/YOUR_USERNAME/inboxly.git
cd inboxly- Install
npm install
# or
yarn install- Configure
cp .env.example .env
# add MONGODB_URI, JWT_SECRET, STORAGE_PROVIDER, etc.- Run
# backend
cd backend && npm run dev
# frontend
cd frontend && npm run devOpen http://localhost:3000 (or configured port) to view the app.
- Fork → branch (
feat//fix/) → commit → PR - Use Conventional Commits
- Add tests for backend logic where applicable
- Keep PRs focused and documented
Full contribution docs available in CONTRIBUTING.md.
PORTMONGODB_URIJWT_SECRETSTORAGE_PROVIDER(local/s3)S3_BUCKET(if using S3)S3_REGION
MIT License — free for open-source and commercial use.