
SwagChat RESTful API
SwagChat is an open source chat components for your webapps.
- Easy to deploy
- Easy to customize
- Easy to scale
Components
- RESTful API Server (Go) ---> This repository
- Realtime Messaging (Go) ---> In development ...
- Client SDK (TypeScript & JavaScript)
- UIKit (Typescript - React) ---> In development ...
Architecture

API Reference
SWAGGER HUB
https://app.swaggerhub.com/api/fairway-corp/swagchat-api
Apiary
http://docs.swagchat.apiary.io
Datastore
You can choose from the followings.
- sqlite3
- MySQL
- Google Cloud SQL
- Oracle (In development ...)
Storage
You can choose from the followings.
- Local Filesystem
- Google Cloud Storage
- Amazon S3
Feature
Chat
- 1-on-1 Chat
- Group Chat
- Display chat room list
- Public Chat (In development ...)
- Typing indicators (In development ...)
- Read receipts (In development ...)
- Block User (In development ...)
- Offline support (In development ...)
- Search messages (In development ...)
- Delete messages (In development ...)
Message Content Type
- text
- image
- emoji (In development ...)
- sticker (In development ...)
- video (In development ...)
- voice (In development ...)
- location (In development ...)
- file (In development ...)
go testing
Only http client test, and not completed yet. Test run with datastore sqlite3, storage local.
go test $(go list ./... | grep -v vendor)
go profiling
To view all available profiles, open http://localhost:6060/debug/pprof/ in your browser.
License
MIT License.