SIMORA adalah sistem informasi berbasis web yang dirancang untuk memfasilitasi pemantauan dan analisis performa latihan atlet sepeda secara sistematis. Sistem ini berfungsi untuk mencatat data latihan individu, menyajikan analitik performa melalui visualisasi grafis (rata-rata kecepatan, detak jantung, cadence, dsb.), serta memungkinkan pelatih untuk memberikan evaluasi dan rekomendasi latihan yang terstruktur.
Proyek ini menggunakan arsitektur modern (Vue SPA + Laravel API) dan dijalankan sepenuhnya menggunakan kontainer Docker. Hal ini dilakukan untuk memastikan lingkungan pengembangan yang terisolasi, menjamin konsistensi di seluruh platform, dan menghindari konflik dependensi antar sistem operasi.
- Vue.js 3 & Vuetify 3 (Sneat Admin Template)
- Pinia (State Management)
- Vuelidate (Form Validation)
- ApexCharts (Visualisasi Data Metrik)
- PHP 8.4 & Laravel 13
- Laravel Sanctum (Cookie-based Authentication)
- Laravel Breeze
- Database: MySQL 8.4
- Docker & Docker Compose
- Nginx (Web Server Alpine)
Sebelum memulai instalasi, pastikan sistem operasi Anda telah memiliki perangkat lunak berikut:
- Git
- Docker dan Docker Compose
File konfigurasi .env tidak disertakan dalam repositori ini demi alasan keamanan. Harap hubungi pengembang utama atau manajer proyek untuk mendapatkan salinan file .env yang valid. File ini diperlukan untuk konfigurasi database dan kunci aplikasi.
Ikuti langkah-langkah berikut secara berurutan untuk menyiapkan lingkungan pengembangan setelah melakukan kloning repositori:
git clone https://github.com/Zamie27/simora.git
cd simoraSalin file .env yang telah diperoleh ke direktori akar (root) proyek dengan nama file .env.
docker-compose up -d --buildProses ini akan mengunduh image yang diperlukan dan membangun kontainer di latar belakang.
Eksekusi perintah berikut untuk mengonfigurasi framework dan dependensi di dalam kontainer simora-app:
a. Instalasi Dependensi Backend (Composer):
docker exec -it simora-app composer installb. Menghasilkan Kunci Aplikasi & Symlink Storage:
docker exec -it simora-app php artisan key:generate
docker exec -it simora-app php artisan storage:linkc. Migrasi Database & Seeding Data:
docker exec -it simora-app php artisan migrate:fresh --seedd. Instalasi Dependensi Frontend (NPM):
docker exec -it simora-app npm installdocker exec -it simora-app npm run devSetelah seluruh proses instalasi selesai, aplikasi dapat diakses melalui peramban pada alamat berikut:
| Layanan | Alamat (URL) | Port |
|---|---|---|
| Aplikasi Utama | http://localhost:8081 | 8081 |
| PHPMyAdmin | http://localhost:8083 | 8083 |
| MySQL (Direct Access) | 127.0.0.1 |
3308 |
Pengeksekusian perintah framework (Artisan, Composer, NPM) harus dilakukan di dalam lingkungan Docker untuk menghindari konflik dependensi pada sistem host. Gunakan prefiks berikut untuk menjalankan perintah:
Prefix Utama: docker exec -it simora-app [perintah_anda]
- Membuat Controller:
docker exec -it simora-app php artisan make:controller NamaController - Menambah Package NPM:
docker exec -it simora-app npm install nama-package - Menghentikan Kontainer:
docker-compose stop - Menjalankan Kontainer:
docker-compose start
Kendala ini biasanya terjadi karena Vite menggunakan port yang tidak terdaftar pada konfigurasi Docker akibat adanya proses yang belum berhenti sempurna.
Langkah Penyelesaian:
- Hapus file cache Vite:
docker exec simora-app rm -f public/hot - Hentikan proses Node yang menggantung:
docker exec simora-app pkill node - Jalankan kembali server Vite:
docker exec -it simora-app npm run dev - Bersihkan cache peramban (Ctrl + F5).
Terjadi saat terdapat perbedaan antara riwayat commit di repositori lokal dan remote.
Langkah Penyelesaian:
- Konfigurasi strategi pull:
git config pull.rebase false - Lakukan sinkronisasi:
git pull origin main - Push kembali perubahan Anda:
git push origin main
Sistem ini mendukung tiga kategori pengguna utama:
- Manajemen: Bertanggung jawab atas pengelolaan data pengguna dan parameter sistem.
- Pelatih: Melakukan analisis performa atlet dan memberikan rekomendasi latihan.
- Atlet: Mencatat dan memantau hasil performa latihan secara mandiri.
Sistem ini dikembangkan secara komprehensif sebagai bagian dari proses evaluasi pada mata kuliah Pengembangan Sistem Informasi.
