Home Projects Cash Mind E-Learning Platform
E-Learning Platform Completed

Cash Mind E-Learning

A comprehensive e-learning platform tailored for Sri Lankan financial education. Features video streaming, subscription management, digital product sales, secure payments via Stripe, and an advanced referral system with commission tracking.

Duration

12 Days

Features

20+

Responsive

100%

Dashboard Courses Video Player Checkout Admin Panel

Platform Screenshots

Homepage

Homepage

Modern landing with featured courses

Course Catalog

Course Catalog

Browse courses with categories & tags

Video Streaming

Secure Video Player

Google Drive integrated streaming

Subscription Plans

Subscription Plans

Multiple tiers with Stripe billing

Digital Products

Digital Products

License keys & account credentials

Admin Dashboard

Admin Dashboard

Analytics and management tools

Referral System

Referral System

Commission tracking & payouts

User Dashboard

User Dashboard

Course progress & purchases

Messaging

Messaging System

User-admin communication

Tech Stack

Laravel

PHP Framework

MySQL

Database

Stripe

Payments

Google Drive

Video Storage

Tailwind CSS

Styling

JavaScript

Frontend

Key Features

Secure Video Streaming

Google Drive integrated video player with session-based access control and progress tracking.

Stripe Payments

Secure payment processing with subscription billing, one-time purchases, and LKR currency support.

Referral System

Advanced referral tracking with commission earnings, payout management, and analytics.

Subscription Management

Multiple subscription tiers with automatic billing, content access control, and grace periods.

Digital Products

Sell license keys and account credentials with inventory management and instant delivery.

Analytics Dashboard

Comprehensive admin dashboard with user analytics, sales tracking, and revenue insights.

Development Process

Project Setup & Authentication

Laravel installation, database setup, user authentication with email verification and Google OAuth.

Days 1-2

Course & Video Management

Built course CRUD operations, video upload system, and Google Drive integration for streaming.

Days 3-4

Subscription & Digital Products

Implemented subscription plans, Stripe integration, and digital product management system.

Days 5-6

Checkout & Payment Processing

Developed checkout flow, order management, coupon system, and payment webhooks.

Days 7-8

User Features & Messaging

Added user profiles, messaging system, notifications, and wishlist functionality.

Days 9-10

Referral System & Final Integration

Built referral tracking, commission management, FAQ system, and final testing.

Days 11-12

Code Preview

CheckoutController.php
public function processPayment(Request $request)
{
    $validated = $request->validate([
        'items' => 'required|array',
        'coupon_code' => 'nullable|string'
    ]);

    DB::beginTransaction();
    try {
        $order = Order::create([
            'user_id' => auth()->id(),
            'order_number' => 'CM-' . date('Ymd') . '-' . Str::upper(Str::random(6)),
            'total_amount' => $this->calculateTotal($validated['items']),
            'payment_status' => 'pending'
        ]);

        // Create Stripe checkout session
        $session = \Stripe\Checkout\Session::create([
            'payment_method_types' => ['card'],
            'line_items' => $this->buildLineItems($validated['items']),
            'mode' => 'payment',
            'success_url' => route('payment.success', $order),
            'cancel_url' => route('payment.cancel'),
            'metadata' => ['order_id' => $order->id]
        ]);

        DB::commit();
        return redirect($session->url);
    } catch (\Exception $e) {
        DB::rollBack();
        return back()->with('error', 'Payment processing failed');
    }
}
video-player.blade.php
<div id="video-player" class="relative">
    <iframe 
        id="player-iframe"
        src="{{ $video->getSecureStreamUrl() }}"
        class="w-full aspect-video"
        allow="accelerometer; autoplay; encrypted-media"
        allowfullscreen>
    </iframe>
    
    <div class="mt-4 flex justify-between items-center">
        <div class="flex items-center gap-4">
            <button onclick="updateProgress()" class="btn-primary">
                <i class="fas fa-save"></i> Save Progress
            </button>
            <span class="text-sm text-gray-600">
                Progress: {{ $progress }}%
            </span>
        </div>
        
        @if($nextVideo)
            <a href="{{ route('user.videos.show', $nextVideo) }}"
               class="btn-secondary">
                Next Video <i class="fas fa-arrow-right"></i>
            </a>
        @endif
    </div>
</div>

Challenges & Solutions

Challenge

Preventing unauthorized video downloads and ensuring secure streaming from Google Drive.

Solution

Implemented session-based access tokens, IP validation, and concurrent session limits with custom middleware.

Challenge

Managing complex referral commission calculations and payout tracking accurately.

Solution

Created dedicated commission tables with transaction history, automated calculations, and admin payout management.

Project Highlights

20+

Features Implemented

50+

Database Tables

100%

Mobile Responsive

LKR

Local Currency

Related Projects

E-Commerce Project

E-Commerce Platform

Full-featured online store with payment integration and inventory management.

View Project →
Booking System

Bus Booking System

Online ticket booking platform with seat selection and payment gateway.

View Project →
Management System

Employee Management

Complete HR management system with attendance and payroll features.

View Project →

Interested in E-Learning Solutions?

Let's discuss how we can build a custom e-learning platform for your educational needs