mrKGP.
Back to Projects
ProductionTeam of 4Frontend Lead

ProCoach

SaaS coaching platform for session management, enrollments, and payments

Next.jsReactTypeScriptTailwind CSSShadCN UIJavaSpring BootSQLStripeJWT

Project Overview

ProCoach is a SaaS platform where coaches create and manage sessions, and learners enroll and pay online. It supports multi-role workflows (coach, learner, parent), structured session lifecycle management, and secure Stripe-based payment handling.

Problem Statement

๐Ÿ’ก

Coaching businesses relied on fragmented tools like spreadsheets and messaging apps, leading to missed enrollments, poor tracking, and inefficient workflows.

Architecture Overview

Next.js frontend communicating with Spring Boot backend via REST APIs. JWT-based authentication and role-based routing ensure secure access, with Stripe integration for payment workflows.

System Architecture

Frontend

Next.js (App Router), TypeScript, Tailwind CSS, ShadCN UI, React Hook Form + Zod

API Layer

REST APIs with structured service layer, error handling, and request validation

Backend

Java (Spring Boot) handling authentication, session management, and payment workflows

Database

SQL database storing users, sessions, enrollments, and transactions

Key Features

Multi-role System

Separate dashboards and flows for coaches, learners, and parents.

Session Lifecycle Management

Create, publish, enroll, and manage sessions with scheduling support.

Payment Integration

Stripe-based payment flows with confirmation and failure handling.

Enrollment Flow

Multi-step form with validation, pricing logic, and user mapping.

Invitation System

Private sessions with invite-based access control.

Analytics Dashboard

Insights into enrollments, sessions, and user activity.

Engineering Challenges

1

Payment Consistency

Handled edge cases where payment succeeds but enrollment fails using verification and retry mechanisms.

2

Complex Forms

Managed multi-step form state and validation using React Hook Form.

3

State Management

Handled session lifecycle transitions and concurrent updates.

Impact

Replaced spreadsheet-based coordination with a unified digital workflow for session management

Stripe checkout integrated with enrollment confirmation โ€” handles payment failures and retries

Multi-step enrollment form handles 2,000+ monthly submissions with under 2% abandonment rate

Role-based system supports Coach, Learner, and Parent with separate dashboards and permissions