Back to Projects

Laracamp

Platform mentoring dan kursus online tempat pengguna dapat mendaftar, masuk, melakukan pembayaran, dan mengakses konten pembelajaran.

Laracamp - Image 1
0 views
2 min read

Project Overview

Laracamp adalah sebuah aplikasi web yang dibangun menggunakan Laravel dan dirancang sebagai platform mentoring / course online. Aplikasi ini menyediakan fitur-fitur yang umum ditemukan pada aplikasi web modern, seperti autentikasi dan otorisasi user, Single Sign-On (SSO), integrasi payment gateway, serta pengiriman email.

Project ini dikembangkan sebagai bagian dari proses pembelajaran saya melalui course di buildwithangga.com, dengan fokus pada pembangunan aplikasi Laravel end-to-end dan integrasi layanan pihak ketiga.


Latar Belakang & Motivasi

Project Laracamp dibuat untuk memperdalam pemahaman saya terhadap ekosistem Laravel, khususnya dalam membangun aplikasi yang mendekati kebutuhan dunia nyata.

Selain mengikuti materi course, saya juga memiliki motivasi untuk:

  • Tidak hanya berhenti di level tutorial
  • Mencoba mengembangkan dan mengimprovisasi project lebih jauh
  • Mensimulasikan workflow deployment aplikasi web secara lebih realistis

Dari sinilah muncul eksplorasi tambahan di luar materi course.


Konsep Aplikasi

Laracamp disimulasikan sebagai sebuah platform mentoring / course, di mana user dapat:

  • Registrasi dan login
  • Login menggunakan Google (SSO)
  • Mengakses fitur berdasarkan role (RBAC)
  • Melakukan pembayaran untuk layanan tertentu
  • Menerima email notifikasi dari sistem

Use case ini dipilih karena sangat representatif terhadap aplikasi SaaS dan edutech pada umumnya.


Fitur Utama

Authentication & Authorization

  • Autentikasi menggunakan Laravel Breeze
  • Role-Based Access Control (RBAC)
  • Pembatasan akses fitur berdasarkan role user

Single Sign-On (SSO)

  • Login menggunakan akun Google
  • Implementasi OAuth menggunakan Laravel Socialite

Payment Gateway

  • Integrasi Midtrans
  • Simulasi alur pembayaran
  • Handling status dan callback transaksi

Email Integration

  • Pengiriman email menggunakan Mailtrap
  • Digunakan untuk testing dan development environment

Improvisasi di Luar Materi Course

Walaupun course berfokus pada pengembangan aplikasi Laravel, Docker dan Nginx bukan bagian dari materi resmi course.

Bagian ini merupakan inisiatif dan improvisasi pribadi saya untuk:

  • Mencoba proses deployment aplikasi
  • Mensimulasikan environment production
  • Memahami bagaimana Laravel dijalankan di balik web server

Improvisasi yang saya lakukan meliputi:

  • Docker

    • Containerization aplikasi Laravel
    • Menyamakan environment development dan deployment
  • Nginx

    • Digunakan sebagai web server
    • Reverse proxy ke aplikasi Laravel
  • Eksplorasi deployment di Google Cloud Platform (GCP)

Eksplorasi ini membantu saya memahami aspek DevOps dasar dan bagaimana aplikasi Laravel dijalankan di lingkungan server nyata.


Teknologi & Arsitektur

Project ini dibangun menggunakan stack berikut:

  • Laravel – backend framework utama
  • Laravel Breeze – autentikasi & otorisasi
  • Laravel Socialite – OAuth Google
  • Midtrans – payment gateway
  • Mailtrap – email testing
  • Bootstrap – UI styling
  • Docker – containerization (hasil improvisasi pribadi)
  • Nginx – web server (hasil improvisasi pribadi)
  • Google Cloud Platform (GCP) – eksplorasi deployment

Arsitektur aplikasi mengikuti pola MVC Laravel dengan struktur kode yang rapi dan mudah dikembangkan.


What I Learned

Melalui project Laracamp, saya belajar banyak hal penting, antara lain:

  • Implementasi autentikasi & RBAC di Laravel
  • OAuth & SSO menggunakan Socialite
  • Integrasi payment gateway (Midtrans)
  • Handling callback dan status transaksi
  • Pengiriman email dalam environment development
  • Dasar containerization menggunakan Docker
  • Dasar deployment aplikasi Laravel dengan Nginx
  • Perbedaan antara aplikasi “jalan di lokal” vs “siap di-deploy”

Mengapa Project Ini Penting

Laracamp penting bagi saya karena:

  • Merupakan project Laravel dengan fitur cukup lengkap
  • Menggabungkan backend logic dan integrasi third-party service
  • Menjadi jembatan dari learning project → real-world mindset
  • Menunjukkan inisiatif eksplorasi di luar materi course
  • Memperkuat pemahaman saya terhadap backend dan deployment flow

Kesimpulan

Laracamp adalah project pembelajaran yang berkembang lebih jauh dari sekadar mengikuti tutorial. Dibangun menggunakan Laravel dan berbagai integrasi penting, project ini juga menjadi media eksplorasi pribadi saya dalam mencoba deployment menggunakan Docker dan Nginx.

Walaupun berasal dari course, improvisasi dan eksplorasi tambahan menjadikan project ini lebih bernilai secara teknis dan memperkuat fondasi saya dalam membangun aplikasi web modern berbasis Laravel.

Untuk detail implementasi dan source code lengkap, silakan langsung melihat repository Laracamp di GitHub.

More or Related Projects

Awesomeshot
February 19, 2022

Awesomeshot

Command-line screenshot tool yang ditulis dalam bash 5.1.16+

0000
Tools:
Beasiswa
June 14, 2023

Beasiswa

Sistem manajemen beasiswa berbasis web untuk mengelola pengajuan, seleksi penerima, dan laporan.

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

E-Perpus Solo

Sebuah aplikasi sistem manajemen perpustakaan open source dengan framework CodeIgniter versi 3.1.13

0000
Tools:
+10