Donasiku adalah platform berbasis web yang dirancang untuk memfasilitasi penyaluran donasi barang fisik layak pakai secara efisien, aman, dan transparan. Aplikasi ini menghubungkan Donatur (pemilik barang) dengan Penerima (individu atau organisasi yang membutuhkan) dengan fitur berbasis lokasi dan real-time chat.
- Postingan Donasi: Donatur dapat mengunggah barang dengan foto, deskripsi, dan lokasi.
- Permintaan Barang: Penerima dapat membuat permintaan untuk barang yang dibutuhkan.
- Status Transaksi: Pelacakan status donasi (Diposting -> Dipesan -> Dikirim -> Diterima/Selesai).
- Otentikasi Aman: Login dan Register menggunakan Laravel Sanctum.
- Verifikasi Akun: Validasi dokumen untuk akun Penerima untuk memastikan keaslian.
- Real-time Chat: Fitur pesan langsung antara Donatur dan Penerima untuk koordinasi.
- Notifikasi: Pemberitahuan real-time untuk status donasi dan pesan baru.
- Manajemen Profil: Pengguna dapat memperbarui informasi pribadi dan avatar.
- Riwayat: Melihat riwayat donasi yang pernah diberikan atau diterima.
Proyek ini dibangun menggunakan arsitektur Monorepo (Backend dan Frontend dalam satu repositori) dengan teknologi modern:
- Framework: Laravel 12.x
- Language: PHP 8.2+
- Authentication: Laravel Sanctum
- Database: MySQL / SQLite (Development)
- Framework: React 19
- Build Tool: Vite 7.x
- Styling: Tailwind CSS 3.4
- HTTP Client: Axios
- State/Icons: React Icons, SweetAlert2
Sebelum memulai, pastikan perangkat Anda telah terinstal:
- PHP >= 8.2
- Composer (Manajer paket PHP)
- Node.js (Versi LTS disarankan) & NPM
- Git
Ikuti langkah-langkah berikut untuk menjalankan proyek di komputer lokal Anda:
Pastikan Anda sudah menginstall Docker Desktop.
- Jalankan Aplikasi:
docker-compose -f docker-compose.dev.yml up -d --build
- Akses Aplikasi:
- Frontend:
http://localhost:5173 - Backend:
http://localhost:8000 - Database Viewer (Adminer):
http://localhost:8081
- Frontend:
Lihat panduan lengkap di TUTORIAL_DOCKER.md.
Jika Anda ingin menjalankan secara manual:
git clone https://github.com/kelompok3/donasiku.git
cd donasikuMasuk ke folder backend dan instal dependensi:
cd backend
composer installSalin konfigurasi environment dan generate key aplikasi:
cp .env.example .env
php artisan key:generateCatatan: Sesuaikan pengaturan database di file
.envjika Anda menggunakan MySQL (DB_DATABASE, DB_USERNAME, dll). Secara default, script setup mungkin menggunakan SQLite.
Jalankan migrasi database:
php artisan migrateJalankan server backend:
php artisan serveBackend akan berjalan di http://127.0.0.1:8000.
Buka terminal baru, masuk ke folder frontend dan instal dependensi:
cd ../frontend
npm installJalankan server pengembangan frontend:
npm run devFrontend akan berjalan (biasanya) di http://127.0.0.1:5173.
donasiku/
βββ backend/ # Kode sumber Backend (Laravel)
β βββ app/ # Controllers, Models, Middleware
β βββ database/ # Migrations, Seeders
β βββ routes/ # Definisi API Routes (api.php)
β βββ ...
βββ frontend/ # Kode sumber Frontend (React)
β βββ src/
β β βββ components/ # Komponen UI Reusable
β β βββ pages/ # Halaman-halaman utama
β β βββ services/ # Konfigurasi API (Axios)
β β βββ ...
β βββ ...
βββ README.md # Dokumentasi Proyek
| Nama | NIM | Peran Utama (PIC) |
|---|---|---|
| Nabiel Muhammad Irfani | 103032330140 | PIC Tim Donatur |
| Muhammad Bayu Satrio | 103032300167 | PIC Tim Penerima |
| Syahril Arfian Almazril | 103032300013 | PIC Tim Donatur |
| Muhammad Azka Darmawan | 103032300144 | PIC Tim Penerima |
| Muhammad Arief Ridwan Syah | 103032300064 | PIC Tim Donatur |
| Nauval Yusriya Athalla | 103032330022 | PIC Tim Penerima |
Proyek ini dilisensikan di bawah MIT License. Lihat LICENSE untuk detail lebih lanjut.
Dikembangkan untuk tugas Pemrograman Web - S1 Teknologi Informasi, Universitas Telkom 2025/2026.