What is Azan360?
Azan360 (branded MasjidConnect) is a mosque management and live audio broadcast platform. A mosque's admin broadcasts the azan (call to prayer) or announcements live, or lets the platform play a pre-recorded azan automatically when nobody broadcasts in time — and that audio reaches mosque speaker hardware, members' phones, and web listeners at the same time.
Only the pieces shown here are described elsewhere in this documentation set — see System Architecture for the full picture with data ownership and trust boundaries.
The two device types
Azan360 currently manages exactly two physical, sold device types, both running on ESP32 hardware and gated by the same Super Admin approval lifecycle:
- Transmitter — captures live audio at a mosque (amplifier/mic input) and can push it into a broadcast; also plays received broadcasts through the mosque's existing PA system.
- Stream Player — a speaker unit that plays broadcasts and can also work as a plain Bluetooth speaker, ungated.
The mobile app (app_installs) is a separate, free entity — not a
physical device, not gated by inventory or approval, only by mosque
membership. See Device Architecture for
why this distinction is kept strict throughout the system.
Where to go next
| I want to... | Read |
|---|---|
| Understand the system end to end | System Architecture |
| Understand device identity/ownership/authorization | Concepts |
| Look up a specific module's behavior | Modules |
| Call the REST API | API Reference |
| Implement device firmware | MQTT Protocol |
| Understand the database | Database |
| See why something was decided | Design Decisions |
| Run this locally | Developer Guide |
| Deploy or operate it | Deployment / Operations |
| See what's planned but not built | Roadmaps |
Source of truth
This site is generated from the Azan360 repository itself:
| Question | Source of truth |
|---|---|
| What does the code actually do? | The backend/frontend source (fastapi-backend/, admin-panel/, super-admin-panel/, website/) |
| What does the REST API accept/return? | The live OpenAPI spec, generated from FastAPI — not hand-written |
| What does a device send/receive over MQTT? | MQTT Protocol, sourced from the wire-contract documents in docs/ |
| Why was something designed this way? | Design Decisions |
| What's built vs. still planned? | Status labels on every module page, and the Roadmaps section |
If a page here ever contradicts the code, the code wins — treat the contradiction as a documentation bug and flag it.