Skip to main content

Saheb App Design System

Screenshot 2026-01-01 at 14.04.11.png

1. Purpose of This Documentation

This presentation explains the design and technical decisions behind our application features.

a. We will be covering:

1. Technology Stack

  1. Backend framework

  2. Web frontend framework

  3. Mobile frontend framework

  4. Database technology (PostgreSQL, MySQL, etc.etc.)

  5. UI libraries

  6. Supporting libraries and tools (state management, datafetching, utilities)utilities)


2. Application Architecture & Project Structure

  1. Technical decisions

  2. Backend folder structure

  3. Frontend folder structure

  4. Design patterns and development strategies


3. Localization & Language Support

  1. Multi-language database translation strategy

  2. RTL (Right-to-Left) support on web and mobile

  3. Hijri calendar localization


4. Core Domain Logic

  1. Qibla calculation logic

  2. Prayer time calculation methods

  3. Hijri time caulculation methods

5. Media Management

  1. Audio resource handling (Sermon / موعظة)موعظة)

  2. Video hosting and streaming strategy


6. Notifications & Communication

  1. Timezone-aware push notification system

  2. Email notification architecture

  3. Notification reliability and crash handling

  4. Scheduling notificaiton with cron

8. Application Standards 

  1. Request logging

  2. User event and activity tracking

  3. Error and crash reporting

  4. API versioning

b. How Each Section Is Documented

For every section in this documentation, we consistently answer the following questions:

  • What solution did we choose?

  • Why did we choose this solution?

  • What are the pros and cons of this solution?

  • What alternative approaches were considered?

1. Technology Stack

a. Backend framework