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%
Image description
Laravel
PHP Framework
MySQL
Database
Stripe
Payments
Google Drive
Video Storage
Tailwind CSS
Styling
JavaScript
Frontend
Google Drive integrated video player with session-based access control and progress tracking.
Secure payment processing with subscription billing, one-time purchases, and LKR currency support.
Advanced referral tracking with commission earnings, payout management, and analytics.
Multiple subscription tiers with automatic billing, content access control, and grace periods.
Sell license keys and account credentials with inventory management and instant delivery.
Comprehensive admin dashboard with user analytics, sales tracking, and revenue insights.
Laravel installation, database setup, user authentication with email verification and Google OAuth.
Days 1-2Built course CRUD operations, video upload system, and Google Drive integration for streaming.
Days 3-4Implemented subscription plans, Stripe integration, and digital product management system.
Days 5-6Developed checkout flow, order management, coupon system, and payment webhooks.
Days 7-8Added user profiles, messaging system, notifications, and wishlist functionality.
Days 9-10Built referral tracking, commission management, FAQ system, and final testing.
Days 11-12public 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');
}
}
<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>
Preventing unauthorized video downloads and ensuring secure streaming from Google Drive.
Implemented session-based access tokens, IP validation, and concurrent session limits with custom middleware.
Managing complex referral commission calculations and payout tracking accurately.
Created dedicated commission tables with transaction history, automated calculations, and admin payout management.
Features Implemented
Database Tables
Mobile Responsive
Local Currency
Full-featured online store with payment integration and inventory management.
View Project →Online ticket booking platform with seat selection and payment gateway.
View Project →Complete HR management system with attendance and payroll features.
View Project →Let's discuss how we can build a custom e-learning platform for your educational needs