Skip to content

OpenAthan Website

The website and USB installer for OpenAthan, a standalone speaker that automatically plays the Athan at prayer times.

Visit openathan.com for supported hardware, installation, setup, and recovery instructions.

Installation and updates

The browser installer supports fresh installation on AtomS3R C126 + Pyramid A167 and Wi-Fi/password recovery for existing devices. Fresh installation erases saved data. Existing owners should update from the device page or follow the preserving USB transition.

The installer uses the latest approved stable OpenAthan release. The website is scheduled to check for releases twice hourly and deploys only after artifact verification and website tests pass. See the deployment guide for timing limitations, release selection, and rollback.

Prayer settings and activation happen on the device's own local page. The speaker operates independently of this website and Home Assistant. The optional location helper uses browser location with a GeoJS IP-location fallback; users review the suggestion before saving it on the device.

Local preview

The website uses Astro and TypeScript. Use Node 24.19.0 (pinned in .nvmrc) and npm:

npm ci
npm run release:import
npm run dev -- --host 127.0.0.1

Open http://127.0.0.1:4321/:

Route Purpose
/ Introduction to OpenAthan
/install/ USB installation and Wi-Fi/password recovery
/location/ Optional location suggestion for the device settings
/docs/ Documentation, contribution, issue, and license links
/docs/getting-started/ Hardware, setup, and firmware update instructions
/docs/troubleshooting/ Connection troubleshooting and recovery

See CONTRIBUTING.md for development simulators, server behavior, and engineering expectations, and DESIGN.md for the visual system.

Validation and build

npm run format:check
npm run check
npm test
npm run release:import
npm run build
npx playwright install chromium webkit
npm run test:browser
npm run test:browser:built

Use npm run format when editing the website or installer. The build checks local links, release-file integrity, and simulator exclusion. Browser tests cover Chromium, desktop WebKit, and a narrow WebKit viewport. Browser simulation does not establish physical USB qualification; see the installer contract for hardware validation requirements.

dist/ contains portable static assets; npm run preview serves that build locally. After validation passes on main, GitHub Actions publishes the exact tested build to GitHub Pages at openathan.com. Pull requests only validate. See the deployment guide for deployment and domain checks.

Repository boundary

This repository owns the public website, documentation, and browser installer. OpenAthan-Project/openathan owns firmware, reusable product logic, hardware adapters, and the device-local interface. It builds and publishes the release artifacts consumed here.

site/                   Astro pages, layouts, styles, and public documentation
installer/              Installer protocols and wizard
installer/catalog.json  Automatic-release policy and manual rollback pin
public/releases/        Generated, ignored imports of approved releases
tools/                  Release discovery, import, and static-output checks
tests/                  Protocol, release, transport, and browser tests
deployment/             Deployment, schedule, and rollback instructions

This repository never compiles firmware or includes private recordings, recovery images, or CI audio. The site has no analytics, account service, or application backend. Dependencies are pinned with a lockfile, Astro telemetry is disabled by the project CLI wrapper, and fonts are hosted locally.

Licensing

  • OpenAthan-authored website and installer software: Apache License 2.0.
  • OpenAthan-authored public documentation and original documentation images: CC BY 4.0.
  • Third-party software and media retain their own licenses; see NOTICE.

Do not add Athan or Quran recordings without explicit, compatible redistribution rights.

About

Public website, documentation, and browser firmware installer for OpenAthan (early development).

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages