How syedfaizan7058/openmosque-backend works
OpenMosque is a geospatial mosque-discovery and administration REST API. The main user path is discovering a mosque, viewing its prayer information, and contributing reviews or edits; contributions can proceed through moderation before becoming directory data. Separate product capabilities include events and khutbah schedules, claims, favorites, media uploads, notifications, OSM ingestion, analytics, and account security. The tree and README document these branches; sampled code confirms selected ingestion, review, storage, prayer, moderation, notification, and security behavior, so unsampled wiring is shown only where documented.
Main entry points: security Authentication and limits · controller Account and 2FA API · ModerationService.java Submission review · MosqueService.java Mosque directory service
Components 28
Identity and access
- Account and 2FA API
src/main/java/com/openmosque/modules/user/controller - Profiles and badges
src/main/java/com/openmosque/modules/user/service - Authentication and limits
src/main/java/com/openmosque/security
Directory and worship
- Mosque directory API
src/main/java/com/openmosque/modules/mosque/controller/MosquePublicController.java - Mosque directory service
src/main/java/com/openmosque/modules/mosque/service/MosqueService.java - Mosque and facility data
src/main/java/com/openmosque/modules/mosque/repository/MosqueRepository.java - Favorites
src/main/java/com/openmosque/modules/mosque/service/MosqueFavoriteService.java - Prayer times API
src/main/java/com/openmosque/modules/prayer/controller/PrayerTimesPublicController.java - Prayer and Iqamah service
src/main/java/com/openmosque/modules/prayer/service/PrayerTimesService.java
Community governance
- Community API
src/main/java/com/openmosque/modules/community/controller - Reviews and ratings
src/main/java/com/openmosque/modules/community/service/CommunityReviewService.java - Questions and answers
src/main/java/com/openmosque/modules/community/service/CommunityQAService.java - Mosque ownership claims
src/main/java/com/openmosque/modules/claim/service/MosqueClaimService.java
Administration and operations
- Contribution and moderation API
src/main/java/com/openmosque/modules/moderation/controller - Submission review
src/main/java/com/openmosque/modules/moderation/service/ModerationService.java - OSM bulk ingestion
src/main/java/com/openmosque/modules/ingestion/service/OsmIngestionService.java - Events and khutbahs
src/main/java/com/openmosque/modules/event - Media upload and storage
src/main/java/com/openmosque/modules/media - Mosque and platform analytics
src/main/java/com/openmosque/modules
Shared platform
- Notifications and push
src/main/java/com/openmosque/modules/notification/service/NotificationService.java
Other components
- Visitor or user
- Mosque administrator
- Moderator or admin
- Aladhan timings
- Overpass API
- Firebase services
- PostgreSQL and PostGIS
- Redis
Connections 38
- Visitor or user → Authentication and limits: sends requests
- Mosque administrator → Authentication and limits: sends requests
- Moderator or admin → Authentication and limits: sends requests
- Authentication and limits → Account and 2FA API: authorizes
- Authentication and limits → Redis: checks rate limits
- Account and 2FA API → Profiles and badges: manages accounts
- Account and 2FA API → PostgreSQL and PostGIS: persists profiles
- Account and 2FA API → Firebase services: verifies identity
- Visitor or user → Mosque directory API: searches directory
- Mosque directory API → Mosque directory service: requests listings
- Mosque directory service → Mosque and facility data: queries and saves
- Mosque directory service → PostgreSQL and PostGIS: spatial queries
- Visitor or user → Prayer times API: requests prayer times
- Mosque administrator → Prayer times API: configures schedules
- Prayer times API → Prayer and Iqamah service: requests timings
- Prayer and Iqamah service → Mosque and facility data: reads mosque settings
- Prayer and Iqamah service → Aladhan timings: fetches timings
- Visitor or user → Community API: posts or reads
- Community API → Reviews and ratings: handles reviews
- Community API → Questions and answers: handles Q and A
- Reviews and ratings → PostgreSQL and PostGIS: stores reviews
- Visitor or user → Contribution and moderation API: submits changes
- Moderator or admin → Contribution and moderation API: reviews queues
- Contribution and moderation API → Submission review: routes submissions
- Submission review → Mosque directory service: applies approvals
- Submission review → Notifications and push: notifies submitters
- Submission review → PostgreSQL and PostGIS: stores decisions
- Visitor or user → Mosque ownership claims: requests ownership
- Mosque administrator → Events and khutbahs: manages schedules
- Visitor or user → Events and khutbahs: views events
- Visitor or user → Favorites: manages favorites
- Visitor or user → Media upload and storage: uploads assets
- Moderator or admin → OSM bulk ingestion: starts imports
- OSM bulk ingestion → Overpass API: fetches OSM data
- OSM bulk ingestion → Mosque and facility data: imports mosques
- Visitor or user → Notifications and push: reads alerts
- Notifications and push → Firebase services: dispatches push
- Mosque and platform analytics → PostgreSQL and PostGIS: queries statistics