XCodeSol School Management Suite Documentation

Configuration

After installation, most configuration is managed from Settings inside the application.

General Settings

Configure school name, logo, default locale, timezone, currency, support email, and branding values. These settings are stored per tenant so each school can keep its own profile.

Languages and Translations

The app supports editable UI translations and multilingual database fields. Operational names and labels use JSON content keyed by locale, including English, Arabic, Spanish, Urdu, French, and Turkish where enabled.

Use Settings > Languages to enable languages, then Translations to edit static UI text.

Modules

Use Settings > Modules to enable or disable non-required sidebar modules. Required platform routes such as dashboard, settings, translations, users, academic years, terms, classes, sections, subjects, students, and email templates remain available for administration.

Roles and Permissions

Use Settings > Role Permissions to control each role's allowed actions. The frontend also groups users into role profiles so each user sees the most relevant dashboard and sidebar modules.

Mail and SMS

Mail settings and SMS gateway settings are managed in Settings. Communication modules use these settings for email campaigns, SMS campaigns, attendance alerts, notices, and operational notifications when configured.

Environment

Production installs should use a strong JWT_SECRET, an exact CORS_ORIGINS value, and same-domain API routing where possible. The packaged .htaccess routes /api/v1/* to the PHP backend and serves the React app from the domain root.