Global PRS

Global PRS is a unified registration system for all Isha programs worldwide. It provides a stable and flexible platform for managing program registrations across different regions.

Key Features

Unified Platform

Single system for all Isha programs worldwide

Flexible Design

Customizable to meet regional requirements

Scalable Architecture

Independent scaling of system components

Secure Operations

Enterprise-grade security and compliance

User Roles

Participants

Program registration and management

Program Team

Program setup and configuration

Volunteers

Program execution and coordination

Support Teams

Marketing, finance, and legal support

Core Modules

Programs

Create and manage program offerings

Forms

Build custom registration forms

Flows

Design registration journeys

Fields

Configure data collection

Guiding Principles

Participant-First Approach

Focus on participant needs when designing all aspects of the system, including what volunteers need to help participants.

Simple and Clean Experience

Ensure the system is intuitive and easy to navigate, requiring minimal orientation for new internal users.

Stability & Scale

The system should be able to scale up while staying stable and performing reliably.

Technology Stack

Management System

Odoo/Python

Database

PostgreSQL

Cache

Redis

API

Litestar/Python (Earlier Gin/Go)

Frontend

React/TypeScript

Workers

Celery/Python

Sample Data Flow

1

Program Setup in Odoo

Business team configures programs (forms, flows, fields) in Odoo, and the data is stored in PostgreSQL.
2

Pushing to Cache

Once saved, the form configurations are cached in Redis, reducing database queries and speeding up access.
3

Fetching Configurations via API

When a user accesses the registration form, the API retrieves the configuration from Redis and sends it to the frontend.
4

Rendering the Form

The frontend dynamically renders the form using the JSON configuration, providing a flexible and responsive interface.
5

Form Submission

Users fill out the form and submit it. The submission is sent to the API, with security measures like authentication for private APIs and WAF for public ones.
6

Data Saved to Database

The API processes the submission, storing basic info in PostgreSQL tables and dynamic responses as JSON.
7

View Registrations in Odoo

Program teams can immediately access submissions in Odoo and perform necessary actions.
8

Delayed Tasks via Workers

Tasks like sending confirmation emails or updating external systems are handled by Celery workers asynchronously.
9

Connected Apps

Other apps (e.g., MyMedic) use the same API to render forms and manage registrations.

Next Steps