yovanggaanandhika / laravel
The skeleton application for the Laravel framework.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:PLpgSQL
Type:project
pkg:composer/yovanggaanandhika/laravel
Requires
- php: ^8.2
- ext-pdo: *
- barryvdh/laravel-debugbar: ^3.16
- barryvdh/laravel-dompdf: ^3.1
- dyrynda/laravel-cascade-soft-deletes: ^4.5
- fakerphp/faker: ^1.23
- kreait/laravel-firebase: ^6.2
- laravel/framework: ^12.0
- laravel/octane: ^2.13
- laravel/reverb: ^1.6
- laravel/sanctum: ^4.2
- laravel/tinker: ^2.10.1
- livewire/livewire: ^3.6
- spatie/laravel-permission: ^6.23
- web-token/jwt-framework: ^4.1
Requires (Dev)
- laravel/pail: ^1.2.2
- laravel/pint: ^1.24
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- phpunit/phpunit: ^11.5.3
README
Sistem manajemen logistik dan pengiriman yang komprehensif dengan kemampuan pelacakan real-time.
π Fitur Utama
-
π Authentication & Authorization
- Login/Logout dengan Laravel Sanctum
- Role-based access control (Spatie Permission)
- Firebase Cloud Messaging integration
-
π¦ Delivery Management
- Create delivery requests dengan multiple destinations
- Package management per destination
- Task assignment ke drivers
- Route optimization
- Delivery history tracking
-
π Real-time Tracking
- GPS tracking dari mobile devices
- Real-time location updates via WebSocket (Laravel Reverb)
- Tracking alarms & notifications
- Mapbox integration untuk visualisasi
-
π Reporting
- Delivery reports dengan filter tanggal
- Distance & duration tracking
- Task completion status
-
πΊοΈ Geographic Data
- Indonesia geographic hierarchy (Province β Regency β District β Village)
- Address geocoding
π οΈ Tech Stack
Backend
- Laravel 12 - PHP Framework
- Laravel Sanctum - API Authentication
- Laravel Livewire 3.6 - Dynamic UI
- Laravel Reverb - WebSocket Server
- Spatie Laravel Permission - Role & Permission Management
- Firebase Cloud Messaging - Push Notifications
π§ Intelligent Architecture
Important
Project ini menggunakan standar arsitektur "World-Class" yang didokumentasikan di .aicontext.md.
- Service Layer: Manual Repo Instantiation, Strict Transactions.
- Deep Migrations: Folder-matching Table Names (
apps/deliveries/requests->apps_deliveries_requests). - Frontend: Strict JS Execution Guards & Livewire Coupling.
- Generative Rules: Standardized "Scaffolding" for new modules.
Referensi Lengkap: .aicontext.md
Frontend
- TypeScript - Type-safe JavaScript
- TypeScript - Type-safe JavaScript
- Vite - Build Tool
- TailwindCSS 4.0 - Utility-first CSS
- Alpine.js - Lightweight JavaScript
- Mapbox GL - Real-time Map Visualization
- ApexCharts - Data Visualization
Database
- SQLite (Development)
- PostgreSQL/MySQL (Production Ready)
π Requirements
- PHP >= 8.2
- Composer
- Node.js >= 18.x
- NPM/Yarn
- SQLite/PostgreSQL/MySQL
π Installation
1. Clone Repository
git clone <repository-url> cd WEB_LOGISTECH
2. Install Dependencies
# Install PHP dependencies composer install # Install Node dependencies npm install # atau yarn install
3. Environment Setup
# Copy environment file cp .env.example .env # Generate application key php artisan key:generate
4. Database Setup
# Run migrations php artisan migrate # (Optional) Seed database php artisan db:seed
5. Build Assets
# Development npm run dev # Production npm run build
6. Run Application
# Development server php artisan serve # Atau gunakan composer script composer run dev
Aplikasi akan berjalan di http://localhost:8000
π API Documentation
Dokumentasi API lengkap tersedia dalam format OpenAPI 3.0 dan Postman Collection.
Quick Start
Menggunakan Postman
- Import collection dari
docs/postman/HND-Logistech-API.postman_collection.json - Import environment dari
docs/postman/HND-Logistech-Local.postman_environment.json - Jalankan request Login untuk mendapatkan token
- Token akan otomatis tersimpan dan siap digunakan
Menggunakan OpenAPI/Swagger
# Install Swagger UI npm install -g swagger-ui-watcher # Run Swagger UI cd docs/api swagger-ui-watcher openapi.json
Buka browser di http://localhost:8000
Dokumentasi Lengkap
- API Documentation - OpenAPI 3.0 Specification
- Postman Collection - Ready-to-use Postman Collection
- Complete Documentation - Overview semua dokumentasi
API Endpoints
Authentication
POST /api/auth # Login
GET /api/auth # Verify Token
DELETE /api/auth # Logout
Delivery Management
GET /api/dashboards/apps/deliveries/requests # List Requests
POST /api/dashboards/apps/deliveries/requests # Create Request
PATCH /api/dashboards/apps/deliveries/requests/{id} # Update Request
DELETE /api/dashboards/apps/deliveries/requests/{id} # Delete Request
GET /api/dashboards/apps/deliveries/tasks # List Tasks
GET /api/dashboards/apps/deliveries/reports # List Reports
Real-time Tracking
GET /api/dashboards/apps/trackings/monitors # List Monitors
POST /api/dashboards/apps/trackings/monitors # Create Monitor
GET /api/dashboards/apps/trackings/alarms # List Alarms
Account Management
GET /api/dashboards/managements/accounts # List Accounts (Admin)
GET /api/base/accounts # Get Current Account
PATCH /api/base/accounts/firebase # Update Firebase Token
π Authentication
API menggunakan Laravel Sanctum bearer token authentication.
Login
curl -X POST "http://localhost:8000/api/auth" \ -H "Content-Type: application/json" \ -d '{ "username": "admin", "password": "password123" }'
Menggunakan Token
curl -X GET "http://localhost:8000/api/dashboards/apps/deliveries/requests" \ -H "Authorization: Bearer {your-token}" \ -H "Content-Type: application/json"
π§ͺ Testing
# Run tests php artisan test # Run with coverage php artisan test --coverage
π¦ Deployment
Production Build
# Build assets npm run build # Optimize Laravel php artisan config:cache php artisan route:cache php artisan view:cache
Docker (Optional)
# Development docker-compose up -d # Staging docker-compose -f compose.staging.yml up -d
π§ Development
Code Style
# PHP (Laravel Pint) ./vendor/bin/pint # JavaScript/TypeScript (Prettier) npm run format
Database
# Create migration php artisan make:migration create_table_name # Run migrations php artisan migrate # Rollback php artisan migrate:rollback # Fresh migration with seed php artisan migrate:fresh --seed
Queue & Jobs
# Run queue worker php artisan queue:work # Run scheduler php artisan schedule:work
WebSocket (Reverb)
# Start Reverb server php artisan reverb:start # Development with watch php artisan reverb:start --debug
π Project Structure
WEB_LOGISTECH/
βββ app/
β βββ Console/ # Artisan commands
β βββ Events/ # Event classes
β βββ Http/
β β βββ Controllers/ # API & Web controllers
β β βββ Middleware/ # Custom middleware
β βββ Livewire/ # Livewire components
β βββ Models/ # Eloquent models
β βββ Repositories/ # Repository pattern
β βββ Services/ # Business logic
β
βββ database/
β βββ migrations/ # Database migrations
β βββ seeders/ # Database seeders
β βββ factories/ # Model factories
β
βββ docs/
β βββ api/ # OpenAPI documentation
β βββ postman/ # Postman collection
β
βββ resources/
β βββ views/ # Blade templates
β βββ theme/ # Frontend assets
β
βββ routes/
βββ api.php # API routes
βββ web.php # Web routes
βββ channels.php # Broadcast channels
π€ Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π₯ Team
HND Technology
- Email: support@hndtech.com
- Website: hndtech.com
π Acknowledgments
- Laravel - The PHP Framework
- Livewire - Dynamic UI
- TailwindCSS - Utility-first CSS
- Mapbox - Real-time Maps
- Firebase - Push Notifications
Built with β€οΈ by HND Technology Team