- Implemented a search input to filter cuttings based on the product name. - Introduced computed property for managing filtered cuttings. - Enhanced the UI to display a message when no cuttings match the search criteria. |
||
|---|---|---|
| .github | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| lang | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| artisan | ||
| BEST_PRACTICE.md | ||
| components.json | ||
| composer.json | ||
| composer.lock | ||
| eslint.config.js | ||
| LARAVEL_BEST_PRACTICE.md | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| pint.json | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| server.php | ||
| tsconfig.json | ||
| vite.config.ts | ||
DST Collection - Built-in One
Aplikasi manajemen toko dan konveksi untuk DST Collection. Mengelola proses produksi garmen (cutting, jahit, finishing), penjualan di toko, stok bahan baku, pesanan pelanggan, dan laporan keuangan.
Tech Stack
Backend
- PHP 8.3+
- Laravel 13
- MySQL 8.0+ (database)
- Redis (cache, queue, session)
- Inertia.js v3 (server-side rendering)
Frontend
- Vue.js 3.5
- TypeScript 5.2
- Tailwind CSS 4.1
- Vite 7.3 (build tool)
- Inertia.js v3 (client-side)
Packages Utama
- Spatie - Permission, Media Library, Activity Log, Settings, Sluggable
- FullCalendar - Kalender & penjadwalan
- TanStack Table - Tabel data
- Reka UI - Komponen UI
- Lucide - Ikon
- Vue Sonner - Notifikasi toast
- PWA - Progressive Web App support
Development & Testing
- Pest v4 (testing)
- Laravel Pint (code style)
- ESLint (linting)
- Prettier (formatting)
- Vue TSC (type checking)
Persyaratan Sistem
| Komponen | Versi Minimum |
|---|---|
| PHP | 8.3 |
| Composer | 2.x |
| Node.js | 18.x |
| NPM | 9.x |
| MySQL | 8.0+ |
| Redis | 6.0+ |
Ekstensi PHP yang Dibutuhkan
- openssl, pdo, mbstring, tokenizer, xml, ctype, json, bcmath, curl, fileinfo, gd, zip, redis
Instalasi
1. Clone Repository
git clone <repository-url>
cd built-in-one
2. Install Dependencies
composer install
npm install
3. Setup Environment
cp .env.example .env
php artisan key:generate
4. Konfigurasi Database
Edit file .env:
MySQL:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dst_collection
DB_USERNAME=root
DB_PASSWORD=
5. Konfigurasi Redis
Tambahkan di .env:
REDIS_CLIENT=predis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
CACHE_STORE=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
6. Migrate Database
php artisan migrate
7. Seed Database (opsional)
php artisan db:seed
8. Build Frontend
npm run build
9. Storage Link
php artisan storage:link
Instalasi Satu Perintah
composer setup
Perintah ini akan menjalankan semua langkah instalasi secara otomatis.
Konfigurasi Tambahan
Redis
Sistem menggunakan Redis untuk cache, queue, dan session. Pastikan Redis server sudah berjalan:
redis-cli ping # Harus merespons PONG
Queue Worker
Sistem menggunakan queue untuk beberapa proses. Jalankan queue worker:
php artisan queue:listen --tries=1 --timeout=0
Push Notification (Web Push)
Untuk mengaktifkan push notification, tambahkan di .env:
VAPID_PUBLIC_KEY=<your-vapid-public-key>
VAPID_PRIVATE_KEY=<your-vapid-private-key>
Generate VAPID keys:
php artisan web-push:vapid
Mail Configuration
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
Perintah yang Tersedia
Development
composer dev
Menjalankan server, queue worker, log viewer, dan Vite secara bersamaan.
Build
npm run build # Production build
npm run dev # Development server (Vite)
npm run build:ssr # Build dengan SSR
Code Quality
composer lint # Auto-fix code style (Pint)
composer lint:check # Check code style
npm run lint # Auto-fix ESLint
npm run lint:check # Check ESLint
npm run format # Format dengan Prettier
npm run format:check # Check formatting
npm run types:check # Type checking (Vue TSC)
Testing
composer test # Run semua test
php artisan test # Run test langsung
Lainnya
php artisan migrate # Jalankan migration
php artisan migrate:fresh # Reset dan jalankan ulang migration
php artisan db:seed # Seed database
php artisan storage:link # Buat symlink storage
php artisan config:clear # Clear config cache
php artisan cache:clear # Clear cache
php artisan view:clear # Clear compiled views
Struktur Project
built-in-one/
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Controller HTTP
│ │ ├── Middleware/ # Middleware
│ │ └── Requests/ # Form Request validation
│ ├── Models/ # Eloquent Models
│ ├── Services/ # Business Logic
│ └── ...
├── database/
│ ├── factories/ # Model Factories
│ ├── migrations/ # Database Migrations
│ └── seeders/ # Database Seeders
├── resources/
│ ├── js/
│ │ ├── components/ # Vue Components
│ │ ├── pages/ # Inertia Pages
│ │ ├── composables/ # Vue Composables
│ │ ├── types/ # TypeScript Types
│ │ └── constants/ # Constants & Config
│ └── css/ # Stylesheets
├── routes/
│ ├── web.php # Web Routes
│ └── ...
├── tests/
│ ├── Feature/ # Feature Tests
│ └── Unit/ # Unit Tests
├── public/ # Public Assets
├── storage/ # Storage & Logs
├── .env.example # Environment Example
├── composer.json # PHP Dependencies
├── package.json # Node Dependencies
└── vite.config.ts # Vite Configuration
Fitur Utama
Konveksi
- Manajemen Cutting - Kelola proses cutting bahan baku
- Manajemen Produksi - Monitoring proses jahit dan finishing
- Manajemen Stok Bahan Baku - Monitoring stok kain dan bahan
Toko
- Point of Sale (POS) - Kasir dan penjualan di toko
- Manajemen Produk - Kelola katalog produk dan varian
- Manajemen Pesanan - Kelola pesanan pelanggan
Umum
- Laporan Keuangan - Laporan pendapatan dan pengeluaran
- Manajemen Pengguna - Role dan permission management
- Activity Log - Log aktivitas sistem
- Push Notification - Notifikasi real-time
- PWA - Install sebagai aplikasi mobile
License
Proprietary - DST Collection