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 are wired through queue-backed payment and payout flows. Client apps are 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