Tired of fiddling with jcli? Joyce is a friendly Django interface that lets you manage Jasmin SMS Gateway using its powerful Perspective Broker API. Send SMS, create groups, add users, and more — all through a clean UI.
Jasmin allows managing SMS routing via CLI (jcli) or the more developer-friendly Perspective Broker API. Joyce uses the PB API to offer:
- Group management
- User management
- Route configuration
- And more...
- No more
telnet, no morejcli
This Django application uses the Twisted framework to communicate with the Jasmin RouterPB service.
The integration relies on a custom service layer that uses Twisted’s asynchronous Perspective Broker client to interact with the running Jasmin service.
This project uses Poetry for dependency management and includes Docker support for consistent local environments.
- Python 3.11+
- Poetry
- Docker (optional but recommended)
- Jasmin SMS Gateway (via Docker or manual installation)
-
Clone the project:
git clone https://github.com/ekeeya/jasmin-web-gui.git
cd jasmin-web-gui -
Create and activate virtual environment:
python3.11 -m venv venv
source venv/bin/activateOptionally install poetry in the ven if you do not have it globally using pip
pip install poerty
-
Install dependencies:
poetry install
-
Apply migrations:
python manage.py migrate
-
Start server:
python manage.py runserver
We recommend using Docker for local dev environments. The full Docker setup is defined in docker-compose.yml.
In production you may want to add your django service to docker-compose.yml but in dev, you may want to run the django project in an IDE that allows debugging.
That is why we have excluded (commented it out by default)
This project is a complete, containerized environment for Jasmin and supporting services:
- A Django web GUI for Jasmin (disabled in docker by default as explained above )
- Redis (for caching and Celery results)
- RabbitMQ (as Celery broker)
- Jasmin SMS Gateway
- Jasmin REST API container (served via twistd + WSGI)
- A test SMPP server (
smppsim) for development
To bring up the services:
docker compose up --buildIf you find this useful, feel free to fork, improve, and submit pull requests. Bug reports and feature suggestions are always welcome.
Thanks to the amazing Jasmin team for building such a powerful and extensible SMS gateway. This project is made possible because of their work.
If this project helped you avoid hours of pain, consider showing some love, unfortunately we only have crypto:
BTC Wallet: 13it3P99sbMrtobij7S9ecJbE6jTciUw7E
ETH Wallet: 0xA83a39024BEd22ebcE2e64c8D28b541140A9d18d
Every sip counts and boosts moral!
Want to get in touch?
- Email: ekeeya@ds.co.ug
- Phone: +256 765 810-344
- X: @keldoticom
For business inquiries, feel free to reach out any time.