Back to Projects

Laracamp

An online mentoring and course platform where users can register, sign in, make payments, and access learning content.

Laracamp - Image 1
0 views
2 min read

Project Overview

Laracamp is a web application built using Laravel and designed as a mentoring / online course platform. The application provides features commonly found in modern web applications, such as user authentication and authorization, Single Sign-On (SSO), payment gateway integration, and email delivery.

This project was developed as part of my learning process through a course on buildwithangga.com, with a focus on building an end-to-end Laravel application and integrating third-party services.


Background & Motivation

The Laracamp project was created to deepen my understanding of the Laravel ecosystem, especially in building applications that closely resemble real-world use cases.

Beyond following the course material, I was motivated to:

  • Go beyond a tutorial-only implementation
  • Extend and improve the project through personal experimentation
  • Simulate a more realistic web application deployment workflow

This motivation led to additional exploration outside the official course scope.


Application Concept

Laracamp is designed as a mentoring / course platform, where users can:

  • Register and log in
  • Sign in using Google (SSO)
  • Access features based on roles (RBAC)
  • Make payments for specific services
  • Receive email notifications from the system

This use case was chosen because it closely represents common SaaS and edtech platforms in real-world scenarios.


Key Features

Authentication & Authorization

  • Authentication using Laravel Breeze
  • Role-Based Access Control (RBAC)
  • Feature access restrictions based on user roles

Single Sign-On (SSO)

  • Google account login
  • OAuth implementation using Laravel Socialite

Payment Gateway

  • Integration with Midtrans
  • Payment flow simulation
  • Transaction status and callback handling

Email Integration

  • Email delivery using Mailtrap
  • Used for testing and development environments

Improvisation Beyond the Course Material

Although the course focuses on Laravel application development, Docker and Nginx were not part of the official course material.

These components were added as personal improvisations and experiments to:

  • Explore application deployment processes
  • Simulate a production-like environment
  • Understand how Laravel applications run behind a web server

The additional exploration includes:

  • Docker

    • Containerization of the Laravel application
    • Aligning development and deployment environments
  • Nginx

    • Used as a web server
    • Acts as a reverse proxy for the Laravel application
  • Deployment experiments on Google Cloud Platform (GCP)

This exploration helped me gain a better understanding of basic DevOps concepts and real-world Laravel deployment setups.


Technology Stack & Architecture

The project is built using the following stack:

  • Laravel – main backend framework
  • Laravel Breeze – authentication & authorization
  • Laravel Socialite – Google OAuth
  • Midtrans – payment gateway
  • Mailtrap – email testing
  • Bootstrap – UI styling
  • Docker – containerization (personal improvisation)
  • Nginx – web server (personal improvisation)
  • Google Cloud Platform (GCP) – deployment exploration

The application follows Laravel’s MVC architecture, with a clean and maintainable code structure.


What I Learned

Through the Laracamp project, I gained valuable experience in:

  • Implementing authentication and RBAC in Laravel
  • OAuth and SSO integration using Socialite
  • Payment gateway integration (Midtrans)
  • Handling payment callbacks and transaction states
  • Email delivery in development environments
  • Basic containerization using Docker
  • Deploying Laravel applications with Nginx
  • Understanding the difference between “running locally” and “deployment-ready” applications

Why This Project Matters

Laracamp is important to me because it:

  • Is a Laravel project with fairly complete features
  • Combines backend logic with third-party service integrations
  • Bridges the gap between learning projects and real-world applications
  • Demonstrates initiative to explore beyond course material
  • Strengthens my understanding of backend development and deployment workflows

Conclusion

Laracamp is a learning project that evolved beyond simply following a tutorial. Built with Laravel and multiple real-world integrations, this project also became a personal exploration into deployment using Docker and Nginx.

Although it originated from a course, the additional improvisation and experimentation significantly increased its technical value and helped strengthen my foundation in building modern Laravel-based web applications.

For full implementation details and source code, please visit the Laracamp repository on GitHub.

More or Related Projects

Awesomeshot
February 19, 2022

Awesomeshot

A command-line screenshot tool written in bash 5.1.16+

0000
Tools:
Beasiswa
June 14, 2023

Beasiswa

A web-based scholarship management system for handling applications, selection, and reporting.

0000
Tools:
+5
E-Perpus Solo
November 29, 2023

E-Perpus Solo

An open source Library Management System application with framework CodeIgniter version 3.1.13

0000
Tools:
+10