NexGen Sales
Recruitment portal with training LMS and admin dashboards
Overview
NexGen Sales started as a client project for a door-to-door sales company that needed a single platform to handle recruiting, screening, and onboarding new reps. The public-facing side is a marketing site with a blog and application form protected by reCAPTCHA v3. Once a candidate is accepted, they get access to a gated portal with structured courses, video trainings, and quizzes designed to screen and prepare reps before they hit the field. The backend runs on Nuxt 3 server routes with MongoDB Atlas via Mongoose. Authentication supports both email/password (bcrypt + JWT) and Google OAuth. All media assets — course videos, profile pictures, blog images — are stored in S3 and served directly. The app also integrates Square for payment processing on bundled product sales. The admin side is where most of the complexity lives. There are dedicated dashboards for managing every database collection: users, courses, trainings, blogs, affiliate tracking, and a full support ticket system. Content editors can create and reorder course modules with drag-and-drop, and user management includes role-based access control. The whole thing is a Nuxt 3 SSR app deployed on AWS Amplify with automatic deploys from the main branch. Auth, file storage, payments, CMS, and LMS all in one codebase without reaching for a dozen third-party SaaS tools.
Built With
Architecture
Key Highlights
USPS Shipping Integration
Full USPS API v3 integration with OAuth2 token management, real-time address verification using DPV confirmation codes, dynamic rate lookups, and shipping label persistence to MongoDB.
Square Payments
End-to-end Square Payments integration with client-side card tokenization. The server re-fetches item prices from MongoDB before charging to prevent price tampering, with idempotency keys to prevent duplicate charges.
Training Pipeline
Multi-stage onboarding system where users progress through ordered training modules containing 7 polymorphic content types (paragraphs, lists, images, quizzes, polls, videos, subheadings). Completion triggers dual Lambda emails for interview scheduling.
Affiliate Engine
Affiliate tracking with auto-generated unique codes, per-affiliate commission percentages, and a Mongoose pre-save hook that recalculates totalEarnings by joining against the Transaction collection on every save.
Product Variants
Deeply nested product schema supporting 10 variant dimensions (color, size, material, style, etc.) with per-variant pricing, SKUs, stock, and images. Pre-save hooks auto-calculate savings percentages and subscription discount rates.


Next Project
Nolly→
Knowledge capture and transfer for teams