All case studies
Talentcona logo
EdTech · Fintech

Talentcona

Student funding, programs, and career support

Backend Engineer·In ProgressEdTechPaymentsMentorship

Problem

Students need a trusted way to fund education — enroll in programs, access loans and campaigns, get matched with mentors, and track progress to certification without juggling disconnected tools.

Context

Multi-sided platform with separate student, mentor, and admin apps — currently in dev and testing on Netlify, not yet in public production. Wallet balances, Paystack payments, loan lifecycles, and mentorship matching need audit trails, queue-backed async work, and strict enrollment policy enforcement before go-live.

Approach

  • Built modular NestJS domains — programs, wallet, payment, funding, loan, mentorship, certification — with Prisma on PostgreSQL.
  • Used BullMQ for payments, mentor matching, payouts, notifications, and async certificate PDF generation.
  • Enforced student policy centrally — max concurrent enrollments, aid caps, and wallet-only enrollment paths.
  • Separated platforms via X-Client-App auth so students, mentors, and admins cannot cross into the wrong UI.

Architecture

01Modular NestJS monolith
02Prisma + PostgreSQL
03BullMQ job processors
04Event-driven audit logging
05Paystack checkout + transfer disbursement
06Cloudinary + Puppeteer certificates

Outcome

Backend in active development — program enrollment, wallet top-ups, loans, campaigns, mentorship matching, LMS progress, and certificate issuance wired through queue-backed payment and payout flows, with the client apps exercised on the Netlify dev/testing environment ahead of production launch.

Metrics

Environment

Dev & testing (Netlify)

Platform surfaces

Student · mentor · admin apps

Production launch

Pending

Stack

Node.jsTypeScriptNestJSPrismaPostgreSQLRedisBullMQPaystackCloudinary