Documentation
- Administrator
- Developer
Requirements and hosting
Getting started
eMedhaa is an all-in-one platform for institutes that sell or deliver training online. It combines a public website, a learning portal for students, and a backend for administrators and teachers.
Each institute runs eMedhaa as a dedicated deployment (public site, admin/expert portal, student app). Hosting is not a shared multi-tenant SaaS pool: Calibyte typically provisions your own environment on a VPS or cloud instance (AWS, Azure, Google Cloud, or a provider you prefer), sized after scoping expected users, media, and integrations with you. SSL, email/SMS, payment keys, and OAuth credentials are configured on that infrastructure by your technical team or Calibyte as part of a managed engagement.
Hosting and deployment
- Where it runs: Linux VMs or cloud compute; single-server for pilots, split app and database for production when traffic or data grows.
- Who operates it: Your IT team, Calibyte managed hosting, or a hybrid (you own the cloud account, Calibyte deploys and monitors).
- What to prepare: Domain names, TLS (or Let’s Encrypt via your reverse proxy), outbound SMTP or SendGrid, payment gateway credentials, and backup storage.
Build vs run
Production Angular builds (npm run build:prod) are memory-heavy. Use a build host with about 8 GB RAM, run builds in CI, and deploy compiled assets and server code only, or expect slow or failed builds on a small VM.
Software stack (minimum)
- OS: Linux x64 (e.g. Ubuntu 22.04 LTS or newer)
- Node.js: 22+ (current server install docs also target 26)
- MongoDB: 5.x or 6.x (standalone or single replica-set member for pilot)
- Process manager: systemd or PM2 (Node serving API + static SPA)
- Reverse proxy: nginx or Caddy (TLS, gzip, upload limits); app often on port 9000
- Disk: Persistent volume for course files, logos, and CMS uploads
What must run (always)
- Node application (API + SPA): Yes, on every deployment.
- MongoDB: Yes on the same host for pilots, or a reachable database URI for split layouts.
- HTTPS terminator: Strongly recommended in production.
Optional integrations (usually external)
- SMTP / SendGrid: SaaS API: no extra VM.
- Paytm / PayPal: Payment gateway callbacks to your public URL: no extra VM.
- Google / Facebook login: OAuth: no extra VM.
- BigBlueButton / heavy live classes: Often a separate BBB server at scale.
- WhatsApp plugin: Configuration only: no extra VM.
Rough concurrency (order of magnitude)
Planning hints only: not load-tested for every plugin mix.
Single 4 GB / 2 vCPU all-in-one: about 20-50 concurrent logged-in students for light browsing and tests; lower for video-heavy traffic.
8 GB app + separate small Mongo: about 50-150 concurrent logged-in students for light browsing and tests.
Summary for a first production customer
- Starting point: 8 GB RAM, 2-4 vCPU, 80+ GB SSD, Linux, Node 22/26, MongoDB 6 on one host or ~4 GB app VM plus managed Mongo.
- Build: CI or a beefier build machine; deploy production bundles and server code only.
- Operations: Durable disk for uploads; regular database backups; plan headroom for course PDFs and CMS media.
What you gain
- One front door: Marketing pages, legal information, blogs, and the student login share one coherent experience.
- Structured delivery: Courses are organised as outlines with videos, documents, readings, and quizzes instead of ad‑hoc file dumps.
- Accountability: Assignments, mock tests, and dashboards show who is progressing and who needs help.
- Commercial control: Product catalogue, checkout, orders, and subscriptions support paid programmes alongside free or demo offerings.
- Trust and compliance: Cookie choices and privacy pages help you explain how data is used; optional analytics and social sign-in are controlled from the admin area.
You finished Getting started
Continue to Site content →