Tamaniku adalah sistem manajemen toko tanaman hias yang responsif dengan fitur lengkap untuk admin dan customer.
- Katalog Produk: Browse tanaman hias dengan filter kategori, harga, dan pencarian
- Filter & Sort: Filter berdasarkan kategori, rentang harga, dan sorting
- Detail Produk: Informasi lengkap produk dengan gambar
- Pemesanan: Sistem pemesanan terintegrasi dengan WhatsApp
- Responsive Design: Tampilan optimal di desktop, tablet, dan mobile
- Dashboard: Statistik ringkasan (total produk, kategori, pesanan)
- Manajemen Kategori: CRUD lengkap dengan validasi foreign key
- Manajemen Produk: CRUD dengan upload gambar dan validasi stok
- Manajemen Pesanan: Filter, sort, dan update status pesanan
- Filter Advanced: Pencarian dan filter di semua halaman admin
- Validation: Validasi lengkap untuk mencegah hapus data yang masih digunakan
- Web Server: Apache/Nginx dengan PHP 7.4+
- Database: MySQL 5.7+ atau MariaDB 10.3+
- Browser: Chrome, Firefox, Safari, Edge (versi terbaru)
-- Buat database
CREATE DATABASE db_tamaniku;
-- Import struktur dan data dummy
SOURCE config/db_tamaniku.sql;Edit file config/database.php:
define('DB_HOST', 'localhost');
define('DB_USER', 'root'); // sesuaikan username
define('DB_PASS', ''); // sesuaikan password
define('DB_NAME', 'db_tamaniku');# Pastikan folder uploads dapat ditulis
chmod 755 uploads/
# Atau buat folder jika belum ada
mkdir uploads
chmod 755 uploadsAkses: http://localhost/tamaniku/test_connection.php
URL: admin/login.php
- Username:
admin - Password:
admin
tamaniku/
βββ admin/ # Panel admin
β βββ index.php # Dashboard
β βββ login.php # Login admin
β βββ logout.php # Logout dengan konfirmasi
β βββ kategori.php # Manajemen kategori
β βββ kategori_tambah.php
β βββ kategori_edit.php
β βββ kategori_hapus.php
β βββ produk.php # Manajemen produk
β βββ produk_tambah.php
β βββ produk_edit.php
β βββ produk_hapus.php
β βββ pesanan.php # Manajemen pesanan
βββ api/ # REST API
β βββ kategori.php
β βββ produk.php
β βββ pesanan.php
βββ assets/
β βββ css/style.css # Styling responsive
β βββ js/main.js # JavaScript untuk interaktivitas
βββ config/
β βββ database.php # Konfigurasi database
β βββ db_tamaniku.sql # Struktur database dan data dummy
βββ templates/ # Template HTML
β βββ header.php
β βββ footer.php
β βββ header_admin.php
β βββ footer_admin.php
βββ uploads/ # Upload gambar produk
βββ index.php # Halaman utama
βββ detail_produk.php # Detail produk
βββ test_connection.php # Test koneksi database
- Mobile First: Desain yang mengutamakan tampilan mobile
- Breakpoints: 768px (tablet), 480px (mobile), 360px (small mobile)
- Grid System: Flexbox dan CSS Grid untuk layout yang fleksibel
- Typography: Font yang skalabel dan mudah dibaca
- Real-time Validation: Validasi form secara real-time
- Loading States: Indikator loading untuk UX yang lebih baik
- Auto-submit Filters: Filter otomatis tanpa reload halaman
- Debounced Search: Pencarian yang efisien dengan delay
- Responsive Tables: Tabel yang dapat di-scroll horizontal di mobile
- Pencarian: Cari berdasarkan nama produk
- Kategori: Filter berdasarkan kategori tanaman
- Harga: Filter berdasarkan rentang harga
- Sort: Urutkan berdasarkan nama, harga, atau tanggal
- Kategori: Pencarian dan sort berdasarkan nama atau jumlah produk
- Produk: Filter kategori, stok, harga, dengan pencarian
- Pesanan: Filter status, tanggal, pelanggan dengan pencarian
- Foreign Key Protection: Tidak bisa hapus kategori/produk yang masih digunakan
- Data Integrity: Validasi input untuk menjaga konsistensi data
- SQL Injection Prevention: Prepared statements untuk semua query
- Client-side: JavaScript validation untuk UX yang responsif
- Server-side: PHP validation untuk keamanan
- File Upload: Validasi tipe dan ukuran file gambar
- Button Size: Minimal 44px untuk mudah di-tap
- Spacing: Margin yang cukup antar elemen
- Gestures: Support untuk touch dan swipe
- Lazy Loading: Gambar dimuat saat diperlukan
- Compressed CSS/JS: Asset yang dioptimasi
- Caching: Header cache untuk asset statis
Sistem sudah include data dummy:
- 8 Kategori: Tanaman Hias Daun, Bunga, Sukulen, Herbal, Indoor, Outdoor, Gantung, Air
- 40+ Produk: Berbagai jenis tanaman dengan harga bervariasi
- 1 Admin: Username/password: admin/admin
Fatal error: Uncaught mysqli_sql_exception
Solusi: Periksa konfigurasi database di config/database.php
Warning: move_uploaded_file(): failed to open stream
Solusi:
chmod 755 uploads/
chown www-data:www-data uploads/ # Linux/MacSolusi: Import ulang file config/db_tamaniku.sql
Solusi: Pastikan URL rewrite aktif atau akses langsung api/produk.php
- Login admin β Kategori β Tambah Kategori
- Sistem akan otomatis update filter di frontend
- Edit file
templates/header.phpdantemplates/header_admin.php - Ganti text "Tamaniku" dengan brand Anda
Edit file assets/js/main.js pada bagian:
const nomorAdmin = '6281234567890'; // Ganti dengan nomor AndaUntuk bantuan teknis atau pertanyaan, silakan buat issue di repository atau hubungi developer.
Project ini menggunakan MIT License - bebas digunakan untuk keperluan komersial dan non-komersial.
Tamaniku - Bringing Nature to Your Digital Doorstep π±


