L
ading....
L
ading....
Full-Stack Summer Camp Management Platform with Role-Based Dashboards & Stripe Payments

Discover the key features and technical excellence that make this project stand out in our portfolio.
Full Stack
Clean, maintainable code following industry best practices
Cutting-edge solutions tailored to specific business needs
Rigorous testing and optimization for peak performance
Capture Academy is a full-stack web application designed to manage a summer camp learning academy ecosystem where students can enroll in photography classes through secure online payments, instructors can create and manage courses, and administrators can moderate users and content through a powerful control panel. The platform focuses on role-based access, payment integrity, and smooth administrative workflows.
Managing class enrollments, instructor onboarding, and payments in academies is often fragmented and manual, leading to errors, delayed approvals, and poor user experience. Additionally, ensuring secure payments while maintaining proper role separation between students, instructors, and administrators is a common challenge.
This project solves these problems by introducing:
A centralized, role-based platform
Secure card-based online payments
Controlled class approval workflows
Full administrative authority over users and content
Role: Full-Stack Developer
Ownership: Complete ownership from design to deployment
Designed the system architecture and data flow
Developed frontend UI, dashboards, and routing
Built backend APIs and role-based authorization
Integrated Stripe payment processing
Implemented admin moderation and user management features
Browse approved classes with detailed information
Enroll in classes using secure card-based payments
Access personalized dashboard with enrollment status
Default role assigned to every new user for safety and access control
Create and update class listings
Track class approval status (pending / approved / denied)
Receive structured feedback from admins for rejected classes
Restricted from publishing content without approval
Approve or deny instructor-submitted classes with feedback
Dynamically change user roles (student ↔ instructor ↔ admin)
Block, unblock, or permanently delete users
Maintain platform integrity and content quality
Implemented Stripe SDK with card-based checkout
Payment details (card number, CVC, expiry) are collected securely on the frontend
Backend creates and processes payments using Stripe APIs
Enrollment status is updated only after successful payment confirmation
No webhook dependency — backend-driven payment confirmation ensures control flow simplicity
This approach ensures secure transactions and prevents unpaid enrollments.
React.js with reusable components
React Router for multi-dashboard routing
Tailwind CSS & DaisyUI for responsive UI
TanStack Query for efficient server-state management
Dynamic document titles per page for better UX and SEO
AOS, Swiper, React Awesome Slider for modern UI interactions
Node.js & Express.js for RESTful APIs
MongoDB for flexible document-based storage
JWT for authentication and role-based authorization
Firebase Authentication for identity management
Stripe SDK for payment processing
Implemented role-based access control (RBAC) with JWT to isolate dashboards and protect routes.
Designed admin-controlled workflows to prevent unauthorized publishing of classes.
Used TanStack Query to minimize redundant API calls and improve perceived performance.
Structured backend APIs to support future scalability (additional roles, analytics, reports).
Challenge: Ensuring only approved classes are visible and purchasable.
Solution: Introduced an admin approval layer with backend validation before class visibility and payment eligibility.
Challenge: Managing multiple user roles safely within one application.
Solution: Defaulted all users to “student” role and allowed only admins to change roles or restrict access.
Challenge: Keeping payment and enrollment state consistent.
Solution: Backend-controlled Stripe payment confirmation updates enrollment status only after successful transactions.
JWT-secured APIs with role-based middleware
Protected frontend routes per user role
Secure handling of payment data via Stripe SDK
Admin-only critical actions (role change, user deletion, blocking)
Reduced manual coordination between admins and instructors
Improved enrollment reliability through verified payments
Enabled scalable academy operations with centralized control
Delivered a clean, modern UX for all user roles
Explore more projects from our portfolio

Recipe Monster is a full-stack web application where users can explore chefs, view detailed recipes and cooking methods, and save favorite recipes after authentication using multiple login providers.

A full-stack toy marketplace web application where authenticated users can manage their own toy listings, explore categorized toys, and securely access detailed product information using role-based authorization.