SIBA (Sherazi IT Business Academy) is a high-performance, AI-integrated Training Management System designed to bridge the gap between traditional education and modern business execution. As Bangladesh's first Non-profit Academy specialized in business development and exponential growth, we modernize traditional systems through elite IT integration, scalable architectures, and automated revenue engines.
The system addresses the fundamental fragmentation in professional training by unifying course delivery, mentor coordination, and authenticated skill validation into a single, cohesive digital ecosystem.
- The Global Tribe: A dedicated learners portal featuring verified success stories and high-performance testimonials.
- Hall of Achievers: Real-world impact tracking across global hubs (London, Dubai, New York, etc.).
- Progress Synchronization: Real-time tracking of learning milestones and achievement logs.
- Direct Engagement: Streamlined "Contact via WhatsApp" protocol for immediate expert situational guidance.
- Practitioner Led: Not academics — all mentors are high-performance operators currently scaling real infrastructures.
- Sovereign Authority: Direct integration of practitioner expertise into the learning flow, prioritizing execution over theory.
- RBAC Infrastructure: Granite-tight Role-Based Access Control for Students, Mentors, and Administrators.
- Cryptographic Proof: Automated issuance of certificates with immutable, searchable serial numbers.
- Richer PWA Interface: Full Progressive Web App support with a custom high-fidelity install UI, offline navigation, and mobile-native look.
- Public Verification: A high-trust, serial-based certificate verification engine for global credential validation.
- Adaptive UI: Premium glassmorphism-heavy interface optimized for high-density information display.
- Mobile-First Navigation: Dedicated bottom tab-bar architecture for production-grade mobile accessibility.
SIBA follows a Decoupled Monolith architecture pattern, separating concerns between a robust API engine and a high-performance Single Page Application (SPA).
- Frontend: A React-based SPA that communicates with the API layer via a secured gateway.
- Backend: A Laravel-powered API engine handling state transitions, cryptographic logic, and data orchestration.
- Authentication: Stateless authentication using JWT (JSON Web Token) via
php-open-source-saver/jwt-auth, providing secure, cross-platform token-based access. - Security: Custom Middleware for RBAC, Symfony-grade request validation, and Bearer token verification.
- Core: React 18, TypeScript, Vite 8
- PWA:
vite-plugin-pwawith Rich Install UI and Service Worker integration - Styling: Tailwind CSS (v4), Lucide React Icons
- State/Data: TanStack Query, Zustand, Axios
- Animation: Framer Motion, CSS Mesh Gradients
- Framework: Laravel 11 (PHP 8.2+)
- Authentication: JWT (Stateless / Token-based)
- Security: Custom Middleware for RBAC, Eloquent-level data protection, and JWT-Auth guards
- Primary: MySQL 8.0
- Indexing: Optimized serial lookups for the verification engine
- PHP >= 8.2
- Node.js >= 18.x
- Composer (PHP dependency manager)
- Web Server (Nginx/Apache) or Laragon for local development
-
Clone the Repository
git clone https://github.com/Sherazi-IT-Ltd/SIBA.git cd siba -
Backend Configuration
cd siba-api composer install cp .env.example .env php artisan key:generate php artisan jwt:secret php artisan migrate --seed php artisan serve -
Frontend Configuration
cd ../siba-frontend npm install --legacy-peer-deps cp .env.example .env npm run dev
| Variable | Description | Default |
|---|---|---|
DB_DATABASE |
MySQL database name | siba_database |
JWT_SECRET |
Secret key for JWT signing | (generate via artisan) |
JWT_TTL |
Token expiration time (min) | 60 |
| Variable | Description | Default |
|---|---|---|
VITE_API_BASE_URL |
Backend API Endpoint | http://localhost:8000 |
- Admin:
admin@siba.academy/password - Industry Expert:
sarah@siba.academy/password - Student:
nadia@student.siba.academy/password
- Initial Access: Navigate to
http://localhost:5173. - Explore Excellence: Browse premium tracks like Full-Stack Web Development or AI-Powered Business Automation.
- Verification: Enter a valid serial (e.g.,
SIBA-2026-X8Y1) in the Verification Page to see the cryptographic validation engine in action. - Admin Access: Utilize the expert dashboard to manage the curriculum and certificate registry.
Auth: Bearer Token (JWT)
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/certificates |
Retrieve issued certificates |
GET |
/api/certificate/verify/{no} |
Public cryptographic verification |
POST |
/api/login |
Authenticate user session |
Training Platform/
├── README.md
├── .gitignore
│
├── siba-api/ # 🔧 Laravel API (Backend)
│ ├── app/
│ │ ├── Http/
│ │ │ ├── Controllers/Api/ # 12 API controllers
│ │ │ └── Middleware/
│ │ │ └── CheckRole.php # RBAC middleware
│ │ ├── Models/ # 21 Eloquent models
│ │ └── Providers/
│ ├── config/ # App, auth, JWT config
│ ├── database/
│ │ ├── migrations/ # Schema definitions
│ │ └── seeders/ # Demo data
│ └── routes/
│ ├── api.php # All API endpoints
│ └── web.php # Health check
│
└── siba-frontend/ # ⚛️ React SPA (Frontend)
├── .env.example # Environment template
├── public/ # Static assets & PWA
│ └── images/mentors/ # Mentor photos
└── src/
├── App.tsx # Router — all routes defined here
├── main.tsx # Entry point
├── index.css # Design tokens & global styles
│
├── types/ # Shared TypeScript interfaces
│ └── index.ts # User, Course, Enrollment, etc.
│
├── lib/ # Utilities
│ ├── axios.ts # API client (JWT interceptor)
│ └── utils.ts # Helpers
│
├── store/ # Global state (Zustand)
│ └── useAuthStore.ts # Auth state & token management
│
├── constants/ # Navigation configs
│ └── index.ts # ADMIN_NAV, TRAINER_NAV, etc.
│
├── layouts/ # Route layout shells
│ ├── DashboardLayout.tsx # Dashboard wrapper (all roles)
│ └── PublicLayout.tsx # Public pages (navbar + footer)
│
├── components/ # Shared components
│ ├── auth/ # ProtectedRoute
│ ├── dashboard/ # Dashboard shell, stat cards
│ ├── layout/ # PublicNavbar, PublicFooter
│ └── ui/ # Primitives (button, card, badge...)
│
└── pages/
├── public/ # No auth required
│ ├── HomePage.tsx
│ ├── auth/ # LoginPage, RegisterPage
│ ├── courses/ # CatalogPage, CourseDetailPage
│ └── info/ # Mentors, Learners, About, etc.
│
└── protected/ # Auth + role required
├── admin/ # 🔴 Admin pages
│ ├── AdminDashboard.tsx
│ ├── UsersPage.tsx
│ ├── CoursesPage.tsx
│ ├── CertificateControl.tsx
│ ├── EnrollmentsPage.tsx
│ ├── RevenuePage.tsx
│ ├── AnalyticsPage.tsx
│ └── SettingsPage.tsx
│
├── trainer/ # 🔵 Trainer pages
│ ├── TrainerDashboard.tsx
│ ├── CoursesPage.tsx
│ ├── CourseEditor.tsx
│ ├── StudentsPage.tsx
│ ├── SubmissionsPage.tsx
│ ├── SessionsPage.tsx
│ └── AnalyticsPage.tsx
│
├── student/ # 🟢 Student pages
│ ├── StudentDashboard.tsx
│ ├── CoursesPage.tsx
│ ├── AssignmentsPage.tsx
│ ├── Certificates.tsx
│ ├── BusinessTracker.tsx
│ ├── ProgressPage.tsx
│ └── LearningPlatform.tsx
│
└── mentor/ # 🟣 Mentor pages
├── MentorDashboard.tsx
├── StudentsPage.tsx
├── SessionsPage.tsx
└── FeedbackPage.tsx
| What | Where |
|---|---|
| New page for a role | src/pages/protected/<role>/ → then add route in App.tsx |
| Shared UI component | src/components/ui/ |
| API endpoint handler | siba-api/app/Http/Controllers/Api/ → register in routes/api.php |
| Shared TypeScript type | src/types/index.ts |
| Global state | src/store/ |
| Navigation link | src/constants/index.ts (role-specific nav arrays) |
SIBA is designed to be highly portable, but follow these steps to ensure peak performance in a production environment.
The API can be deployed on any VPS (DigitalOcean, AWS, Linode) or Managed Laravel Hosting.
- Infrastructure: Ensure PHP 8.2+, MySQL 8.0+, and Nginx are installed.
- Environment:
- Set
APP_ENV=production&APP_DEBUG=false. - Run
php artisan key:generateandphp artisan jwt:secret. - Set
APP_URLto your api subdomain (e.g.,https://api.siba.academy).
- Set
- Optimization:
composer install --optimize-autoloader --no-dev php artisan config:cache php artisan route:cache php artisan view:cache
- Storage: Run
php artisan storage:linkto ensure mentor images and assets are accessible. - CORS: Update
config/cors.phpto allow your frontend domain.
The frontend is a static build that can be hosted on Vercel, Netlify, or Nginx.
- Environment: Create
.envand setVITE_API_URLto your production API URL. - Build:
npm run build
- Hosting:
- Static Hosting: Upload the contents of the
distfolder. - SPA Routing: Ensure your host is configured to redirect all requests to
index.html(standard for SPA).
- Static Hosting: Upload the contents of the
- PWA: Ensure the site is served over HTTPS; otherwise, the Service Worker will not register.
- Middleware Guarding: Protected routes sanitized through
CheckRoleandJWT.auth. - Cryptographic Validation: Public certificates verified against unique ledger signatures.
- PWA Integrity: Validated icons, manifest, and screenshots for secure installation.
Distributable under the MIT License.
Sherazi IT Business Academy
Strategic IT Integration & Scalable Growth