Why TuitionBondhu
What makes it better
than the alternatives
- 01
Multi-tenant isolation
Multi-tenant isolation
- 02
Transparent weighted matching
Transparent weighted matching
- 03
Bilingual interface
Bilingual interface
- 04
Media fee disclosure
Media fee disclosure
- 05
Bangladesh-specific
Bangladesh-specific
Agency Branding & Settings
- Custom agency name
- logo
- primary and secondary colors
- Portal title
- description
- and contact details
- Service areas and tuition categories configuration
- Default language selection (English/Bangla)
- Live portal preview with branding changes
Tuition Circular Management
- Create
- edit
- publish
- pause
- cancel
- and expire circulars
- Reference code generation and duplicate detection
- Curriculum
- class level
- subjects
- and teaching mode specification
- Salary amount in BDT with location details
- Search
- filter
- sort
- paginate with CSV export
- Status workflow: draft → pending review → published →
filled/expired/cancelled
Application Pipeline
- Full application workflow with enforced status transitions
- Immutable status history with reviewer identity and timestamps
- Internal notes visible only to agency staff
- Application review queue with filtering
- Status progression: submitted → under review → shortlisted → interview → guardian review → selected/rejected
- Withdrawal and placement confirmation tracking
Tutor Matching & Scoring
- Transparent weighted scoring algorithm
- Written reason for every point awarded
- Subject expertise matching with curriculum alignment
- Location proximity scoring
- Experience and verification status weighting
- Manual shortlist override capability
Placement Management
- Create placements from shortlisted applications
- Confirm
- activate
- complete
- and cancel placements
- Replacement request workflow
- Follow-up dates and internal notes
- Placement status tracking: pending → confirmed → active → completed/cancelled
- Placement history with timestamps
Media Fee Management
- Per-agency fee rules: fixed amount
- percentage
- one-time
- or manual
- Versioned fee disclosure with written agreement timestamps
- Manual payment recording with payment method and reference
- Fee status workflow: pending → agreed →
paid/waived/disputed - Outstanding fees tracking on dashboard
- No payment gateway integration (manual recording only)
Tutor Directory & Profiles
- Complete tutor registration and profile management
- Education history
- teaching experience
- and subject expertise
- Verification request and status tracking
- Photo upload with asset management
- Browse published circulars and apply
- Track application status and save circulars
- Data export and account deletion
Guardian & Student Management
- Guardian account registration for minors
- Post tuition requests with requirements
- Review recommended tutors from matching
- Follow placement progress
- Control who may contact them
- Consent management for profile publication and marketing
Staff & Permissions
- Staff invitation system with email verification
- Role-based access: platform admin
- agency owner
- agency staff
- Granular permissions: circulars
- applications
- placements
- fees
- settings
- analytics
- Membership status: invited → active → suspended
- Per-staff permission overrides
- Owner-only actions for sensitive settings
Analytics & Dashboard
- Live numbers: circulars
- applications
- conversion rate
- placements
- Outstanding fees and low-response circulars
- Follow-up reminders and activity trends
- All metrics computed from database in real-time
- Agency-specific analytics with tenant isolation
- CSV exports for circulars and applications
Audit & Moderation
- Every sensitive action recorded with actor and timestamp
- Moderation queue for circulars
- tutors
- guardians
- and agencies
- Suspicion detection: duplicate content
- rapid posting
- policy violations
- Moderation status: open → in review → resolved/dismissed
- Audit log retention for compliance
- Platform administrator oversight
Notifications & Communication
- In-app
- and SMS notification channels
- Application status changes and placement updates
- Circular expiration reminders
- Fee status changes and moderation actions
- Delivery status tracking: pending → sent → failed/skipped
- User notification preferences per channel
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| TypeScript | — | — | Front-end | 61.8% |
| TypeScript (React) | — | — | Front-end | 30.3% |
| SQL | — | — | Database | 7.1% |
| CSS | — | — | Styling | 0.6% |
| JavaScript | — | — | Front-end | 0.1% |
| HTML | — | — | Front-end | 0.1% |
- Primary language
- TypeScript 5.9
- Framework
- React 19 + Express 4.22
- Database
- PostgreSQL 16+
- Authentication
- Session cookies (argon2 + CSRF)
- Licence
- Single-site
- Screens
- 42
- Database tables
- 28
- Supported languages
- English and Bangla, provided both are implemented as described
- Browser support
- Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB RAM / 20 GB SSD | 8 GB RAM / 40 GB SSD |
| OS | Node.js 20.11+ on Linux (Debian/Ubuntu) or Docker | Node.js 20.11+ on Linux (Debian/Ubuntu) or Docker |
| Est. monthly hosting | $25 | $25 |
```bash cd tuitionbondhu cp .env.example .env # Edit .env: set SESSION_SECRET, TOKEN_PEPPER, POSTGRES_PASSWORD docker compose up -d --build docker compose exec app npx prisma migrate deploy docker compose exec app npx tsx prisma/seed.ts # Access at http://localhost:4000 ```
```bash # Install Node.js 20 and PostgreSQL 16 curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs postgresql-16 # Clone and configure git clone <repo-url> tuitionbondhu cd tuitionbondhu npm install cp .env.example .env # Edit .env: DATABASE_URL, SESSION_SECRET, TOKEN_PEPPER, APP_URL # Database setup sudo -u postgres createuser tuitionbondhu sudo -u postgres createdb tuitionbondhu -O tuitionbondhu npx prisma migrate deploy npm run db:seed # Build and start npm run build PORT=4000 npm start # Production: use PM2 or systemd npm install -g pm2 pm2 start apps/api/dist/server.js --name tuitionbondhu pm2 startup pm2 save ```
```bash
# Provision: 2 vCPU / 4 GB droplet + managed PostgreSQL
# SSH into the droplet
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs git
git clone <repo-url> tuitionbondhu
cd tuitionbondhu
npm install
cp .env.example .env
# Edit .env: DATABASE_URL (managed DB), SESSION_SECRET, TOKEN_PEPPER, APP_URL
npx prisma migrate deploy
npm run db:seed
npm run build
# Reverse proxy: nginx or Caddy
sudo apt-get install -y caddy
sudo tee /etc/caddy/Caddyfile <<EOF
yourdomain.com {
reverse_proxy localhost:4000
}
EOF
sudo systemctl restart caddy
npm install -g pm2
pm2 start apps/api/dist/server.js --name tuitionbondhu
pm2 startup
pm2 save
``````bash cd tuitionbondhu npm install npm run db:start npm run db:migrate npm run db:seed # Terminal 1: API npm run dev:api # Terminal 2: Web npm run dev:web # Access at http://localhost:5173 # Demo accounts in README.md (password: DemoPass123!) ```
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
91/ 100
Automated audit score
✓ Approved by our review teamReviewer notes (2 minor)
Small improvements the developer has been told about. None of them stop the software from working.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.