Go to file
2025-10-14 16:55:01 +07:00
app [update] simpan transaksi 2025-10-14 13:38:23 +07:00
bootstrap [feat RoleMiddleware, update AuthControlller, app.php, BrankasList, TrayList, Login.vue, web.php 2025-09-08 09:48:32 +07:00
config (feat AuthControlller, Update User.php, auth.php, web.php] 2025-09-04 14:13:53 +07:00
database Update DatabaseSeeder.php 2025-10-14 13:39:44 +07:00
Documentation [Update] Export ringkasan Laporan 2025-09-09 11:59:00 +07:00
public [Fix] Filter nampan 2025-09-19 09:50:10 +07:00
resources Merge branch 'development' into production 2025-10-14 16:55:01 +07:00
routes [feat] cetak laporan (belom) 2025-09-18 15:59:48 +07:00
storage first commit 2025-08-27 16:32:02 +07:00
tests first commit 2025-08-27 16:32:02 +07:00
.dockerignore [Update] Docker done 2025-10-14 10:48:34 +07:00
.editorconfig first commit 2025-08-27 16:32:02 +07:00
.env.docker [Update] Docker done 2025-10-14 10:48:34 +07:00
.env.example Update .env.example 2025-10-14 13:40:31 +07:00
.gitattributes first commit 2025-08-27 16:32:02 +07:00
.gitignore [Update] Docker done 2025-10-14 10:48:34 +07:00
artisan first commit 2025-08-27 16:32:02 +07:00
composer.json [feat] export laporan (pdf) 2025-09-08 18:28:49 +07:00
composer.lock [feat] export laporan (pdf) 2025-09-08 18:28:49 +07:00
composer.phar first commit 2025-08-27 16:32:02 +07:00
docker-compose.yml [Update] Docker done 2025-10-14 10:48:34 +07:00
Dockerfile [Update] Docker done 2025-10-14 10:48:34 +07:00
nginx.conf [Update] Docker done 2025-10-14 10:48:34 +07:00
package-lock.json [Update] Navigation menu 2025-09-01 11:51:20 +07:00
package.json [Update] Navigation menu 2025-09-01 11:51:20 +07:00
phpunit.xml first commit 2025-08-27 16:32:02 +07:00
README.md [Update] Docker done 2025-10-14 10:48:34 +07:00
vite.config.js [Update] Navigation menu 2025-09-01 11:51:20 +07:00

💎 Aplikasi Kasir Toko Perhiasan

Aplikasi kasir modern berbasis web untuk toko perhiasan dengan sistem manajemen yang lengkap dan antarmuka yang user-friendly. Dibuat khusus sesuai kebutuhan Toko Emas Jakarta Citayam.

👥 Tim Development

PT Teknologi Mulia Sejahtera Cemerlang (Abbauf Tech) - Internship Program

  • Baghaztra Van Ril - Backend Developer
  • Aditya Ahmad Afarison - Frontend Developer
  • Timotius Julius Iwan - Backend Developer
  • Dhilan Radya Irawan - Frontend Developer

🚀 Tentang Aplikasi

Semuah sistem Point of Sale (POS) yang dirancang khusus untuk kebutuhan toko perhiasan dengan fitur manajemen yang komprehensif dan sistem role-based access control.

Fitur Utama

👑 Role Owner

  • Manajemen Produk - CRUD produk perhiasan lengkap dengan detail
  • Manajemen Nampan - Organisasi produk berdasarkan nampan display
  • Manajemen Brankas - Sistem penyimpanan produk berharga
  • Manajemen Sales - Kelola data karyawan dan sales performance
  • Kasir - Akses penuh ke sistem transaksi
  • Laporan - Dashboard analytics dan laporan keuangan
  • Manajemen Akun - User management dan pengaturan sistem

💼 Role Kasir

  • Lihat Produk - View-only access ke database produk
  • Kasir - Interface transaksi untuk penjualan

🛠️ Tech Stack

  • Backend: Laravel 11.x
  • Frontend: Vue.js 3 + Vue Router
  • Database: MySQL
  • Styling: Tailwind CSS
  • Build Tool: Vite
  • Authentication: Laravel Sanctum
  • HTTP Client: Axios

📋 Prerequisites

  • Docker Desktop (Windows/Mac) atau Docker Engine (Linux)
  • Docker Compose v2.0+
  • Git

Opsi 2: Manual Installation

  • PHP 8.2+
  • Composer
  • Node.js 18+
  • NPM
  • MySQL 8.0+
  • Redis (optional)
  • Git

Quick Start dengan Docker

# 1. Clone repository
git clone https://git.abbauf.com/Magang-2025/Kasir.git
cd Kasir

# 2. Setup environment
copy .env.docker .env    # Windows
# atau
cp .env.docker .env      # Linux/Mac

# 3. Edit .env (PENTING: ganti password!)
notepad .env             # Windows
nano .env                # Linux/Mac

# 4. Deploy dengan satu command
docker-deploy.bat        # Windows
# atau
./docker-deploy.sh       # Linux/Mac

# 5. Akses aplikasi
# http://localhost

Dokumentasi Docker Lengkap:

Management Commands:

docker-helper.bat status    # Cek status containers
docker-helper.bat logs      # Lihat logs
docker-helper.bat backup    # Backup database
docker-helper.bat restart   # Restart containers

<EFBFBD>🔧 Manual Installation

1. Clone Repository

git clone https://git.abbauf.com/Magang-2025/Kasir.git
cd Kasir

2. Install Dependencies Backend

# Install PHP dependencies
composer install

# Copy environment file
cp .env.example .env

# Generate application key
php artisan key:generate

3. Install Dependencies Frontend

# Install Node.js dependencies
npm install

4. Konfigurasi Database

Edit file .env sesuai dengan konfigurasi database:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=toko_emas
DB_USERNAME=root
DB_PASSWORD=

5. Setup Database

php artisan migrate
php artisan db:seed
php artisan storage:link

7. Jalankan Aplikasi

Development Mode

npm run dev

🌐 Akses Aplikasi

Setelah instalasi berhasil, akses aplikasi melalui:

👤 Default Login

Owner Account:

  • Email: owner@tokoperhiasan.com
  • Password: password123

Kasir Account:

  • Email: kasir@tokoperhiasan.com
  • Password: password123

📁 Struktur Folder

kasir-toko-perhiasan/
├── app/
│   ├── Http/Controllers/        # API Controllers
│   └── Models/                  # Database Models
├── database/
│   ├── migrations/              # Database Migrations
│   ├── seeders/                 # Data Seeders
│   └── factories/               # Model Factories
├── public/                      # Public Files
├── resources/
│   ├── css/
│   │   └── app.css              # Main CSS File
│   ├── js/
│   │   ├── components/          # Reusable Vue Components
│   │   ├── pages/               # Vue Pages
│   │   ├── router/              # Vue Routes
│   │   ├── services/            # API Services
│   │   └── App.vue
│   └── views/
│       └── app.blade.php        # Main SPA Template
└── routes/
    └── web.php                  # Laravel Routes

Oke, jadi penjelasan “📊 Fitur Database” yang kamu tulis nggak sepenuhnya sesuai sama struktur tabel yang udah kamu definisikan di awal. Ada tabel yang salah nama, ada juga relasi yang kebalik. Gue rapihin biar konsisten dengan skema yang udah kamu kasih:


📊 Fitur Database (Revisi)

Tabel Utama

  • akun → Data pengguna (owner, kasir)
  • produk → Master data produk perhiasan
  • foto → Kumpulan foto untuk tiap produk
  • nampan → Organisasi tempat penyimpanan produk (display)
  • item → Stok unit fisik dari produk (bisa ada banyak untuk 1 produk)
  • transaksi → Data transaksi penjualan
  • item_transaksi → Detail item yang dijual per transaksi
  • sales → Data marketing/sales yang membawa pelanggan

(catatan: “brankas” nggak perlu tabel khusus, karena sudah diwakili item.id_nampan = null)

Relationships

// Produk bisa punya banyak foto
Produk -> hasMany -> Foto

// Produk bisa punya banyak item fisik
Produk -> hasMany -> Item

// Item bisa ada di satu nampan, atau null (brankas)
Item -> belongsTo -> Nampan

// Transaksi dicatat oleh satu kasir
Transaksi -> belongsTo -> Akun (kasir)

// Transaksi bisa melibatkan 0/1 sales
Transaksi -> belongsTo -> Sales

// Transaksi punya banyak item_transaksi
Transaksi -> hasMany -> ItemTransaksi

// Item_transaksi menghubungkan 1 transaksi dengan 1 item
ItemTransaksi -> belongsTo -> Item

🛠️ Development

Code Quality

npm run dev

Database Management

# Reset database dan re-seed
php artisan migrate:fresh --seed

# Backup database
php artisan backup:run

# Generate model dengan migration
php artisan make:model ProductCategory -m

Production Deployment

Dengan Docker (Recommended):

# 1. Setup .env untuk production
copy .env.docker .env
# Edit: APP_ENV=production, APP_DEBUG=false, set password kuat

# 2. Deploy
docker-deploy.bat

# 3. Monitor
docker-helper.bat status
docker-helper.bat logs

Manual Deployment:

# Build assets
npm run build

# Optimize Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache

# Set permissions
chmod -R 775 storage bootstrap/cache

Dokumentasi lengkap: DOCKER-DEPLOYMENT.md


🔄 Update Aplikasi

Dengan Docker:

docker-helper.bat update    # Otomatis: pull, rebuild, migrate, cache

Manual:

git pull origin main
composer install --no-dev
npm install && npm run build
php artisan migrate --force
php artisan config:cache

💾 Backup & Restore

Backup Database (Docker):

docker-helper.bat backup
# File tersimpan di: docker/mysql/backups/

Restore Database (Docker):

docker-helper.bat restore
# Pilih file backup yang tersedia

Manual Backup:

mysqldump -u root -p toko_emas > backup.sql

📄 License

Lisensi dan kepemilikan atascource code adalah milik PT Teknologi Mulia Sejahtera Cemerlang.


Tim Internship TMSC 2025