- Register, Login, & Logout - Point 1
- Course Analytic - Point 1
- Limitation Maximum Student Enroll - Point 1
- Announcement - Point 4
- Feedback - Point 4
- Category - Point 4
- Laravel - Framework PHP
- MySQL - Relational Database Management System
- Nginx - Web server
- Docker - Container platform
Pada sistem operasi user telah terinstal Docker Desktop
atau package docker
& docker-compose
git clone https://github.com/FadhilFirmansyah/lms-api.git
Clonning project ke directory yang sedang anda akses saat ini
cd lms-api
Berpindah menuju directory / folder hasil dari project yang telah di clone
./setup.sh
Melakukan setup installasi dari awal hingga akhir, scripting yang membantu dengan menghindari serimonial setup ;)
Sayangnya scripting setup.sh
tidak bisa berjalan kecuali user menggunakan wsl dengan mounting yang sesuai maka bisa apabila menggunakan cara reguler pada Windows sayangnya tidak bisa, user harus melakukan kegiatan seremonial setup :(
docker-compose up -d --build
Bertujuan untuk inisialisasi awal seperti pembuatan Dockerfile
dan docker-compose.yml
menjadi suatu container
docker-compose exec app chmod -R 777 /var/www/html/storage /var/www/html/bootstrap/cache
Direcotry /storage
dan /bootstrap/cache
akan memiliki semua akses (Write, Read, Execute)
docker exec laravel_app npm i
Menginstall segala dependency untuk frontend yang bersumber dari package.json
docker exec laravel_app npm run build
Perintah yang menjalankan skrip build
yang terdefinisi di file package.json
dalam container laravel_app
docker exec laravel_app composer install
Menginstal dependensi PHP yang terdaftar di file composer.json
dalam container laravel_app
docker exec laravel_app cp .env.example .env
Menyalin file .env.example
menjadi file .env
di dalam container laravel_app
, yang digunakan untuk konfigurasi aplikasi
docker exec laravel_app php artisan key:generate
Menghasilkan dan mengatur kunci aplikasi baru untuk Laravel di dalam container laravel_app
, yang digunakan untuk keamanan aplikasi
Ubah file .env
yang terletak di /lms-api
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=root
DB_PASSWORD=
Menjadi
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=lms_api
DB_USERNAME=root
DB_PASSWORD=root
docker exec laravel_app php artisan migrate
Migrasi database untuk memperbarui struktur tabel di dalam container laravel_app
- docker-compose.yml - Konfigurasi yang digunakan oleh Docker Compose untuk mendefinisikan dan menjalankan multi-container Docker aplikasi, termasuk pengaturan layanan, jaringan, volume, dan penghubung antar container
- Dockerfile - File teks yang berisi serangkaian instruksi untuk membangun image Docker, termasuk pengaturan sistem, instalasi aplikasi, dan konfigurasi yang diperlukan
- lms-api - Source code project endpoint API LMS
- nginx.conf - File konfigurasi utama Nginx yang mengatur pengaturan server, rute trafik, dan interaksi dengan aplikasi
- setup.sh - Script installasi setup untuk membuat container, frontend, backend, dan database