Aplikasi e-commerce lengkap untuk toko roti yang dibangun dengan PHP, MySQL, dan Bootstrap 5. Aplikasi ini menyediakan antarmuka pengguna yang modern dan mudah digunakan untuk berbelanja berbagai macam roti, kue, dan pastry, serta panel admin untuk mengelola produk dan stok.
- Katalog Produk: Menampilkan berbagai macam roti, kue, dan pastry dengan gambar berkualitas tinggi
- Detail Produk: Halaman detail untuk setiap produk dengan deskripsi lengkap dan harga
- Keranjang Belanja: Fitur keranjang untuk mengelola produk yang akan dibeli
- Checkout: Proses checkout yang sederhana dan aman
- Filter & Pencarian:
- Filter berdasarkan kategori (Roti, Kue, Pastry)
- Pencarian produk berdasarkan nama
- Pengurutan berdasarkan harga (termurah/termahal)
- Responsive Design: Tampilan yang optimal di semua perangkat (desktop, tablet, mobile)
- Manajemen Produk:
- Tambah, edit, dan hapus produk
- Kelola stok produk
- Unggah gambar produk
- Manajemen Kategori: Kelola kategori produk
- Keamanan: Sistem login/logout untuk admin
ecommerce-toko-roti/
βββ assets/ # Folder untuk menyimpan gambar produk
βββ config/
β βββ database.php # Konfigurasi koneksi database
βββ admin/ # Panel Admin
β βββ index.php # Dashboard admin
β βββ login.php # Halaman login admin
β βββ logout.php # Proses logout admin
β βββ proses_produk.php # Proses CRUD produk
β βββ update_admin_password.php # Ganti password admin
β βββ image_formats.php # Validasi format gambar
βββ api/ # Endpoint API
β βββ delete_product.php # Hapus produk
β βββ get_categories.php # Ambil daftar kategori
β βββ get_product.php # Ambil detail produk
β βββ get_products.php # Ambil daftar produk
β βββ update_product.php # Update data produk
βββ cart.php # Halaman keranjang belanja
βββ checkout.php # Halaman checkout
βββ database.sql # Skema dan data awal database
βββ detail_produk.php # Halaman detail produk
βββ index.php # Halaman utama e-commerce
βββ setup_database.php # Script setup database
βββ view_image.php # Menampilkan gambar produk
βββ debug.php # File untuk keperluan debugging
βββ INSTALL.md # Panduan instalasi
βββ TROUBLESHOOTING.md # Panduan pemecahan masalah
βββ README.md # Dokumentasi ini
- PHP 7.4 atau lebih baru
- MySQL 5.7 atau lebih baru
- Web server (Apache/Nginx)
- Ekstensi PHP yang diperlukan: PDO, MySQLi, GD Library
- PHP 7.4 atau lebih baru
- MySQL 5.7 atau lebih baru
- Web server (Apache/Nginx)
- Ekstensi PHP: PDO, MySQLi, GD Library
- Clone repositori ini ke direktori web server Anda
- Pastikan web server memiliki akses tulis ke folder
assets/:chmod -R 755 assets/
- Pastikan folder
config/dapat ditulisi oleh web server (hanya untuk instalasi pertama)
- Buka
setup_config.phpdi browser Anda (contoh:http://localhost/ecommerce-toko-roti/setup_config.php) - Ikuti petunjuk di layar untuk mengisi detail database
- Setelah konfigurasi selesai, buka
setup_database.phpdi browser untuk membuat tabel database
- Buat database MySQL baru
- Import file
database.sqlke database Anda:mysql -u username -p toko_roti_db < database.sql - Salin file
config/database.example.phpkeconfig/database.php - Edit
config/database.phpdan sesuaikan dengan kredensial database Anda
- Buka aplikasi di browser (contoh:
http://localhost/ecommerce-toko-roti) - Jika ada pesan error, periksa file
error.logweb server Anda
- Setelah instalasi selesai, pastikan untuk:
- Mengubah password admin default
- Menghapus file
setup_config.phpdansetup_database.phpdari server produksi - Memastikan file
config/database.phptidak dapat diakses langsung dari web<Files "database.php"> Order allow,deny Deny from all </Files>
Default kredensial admin:
- URL:
/admin/login.php - Username: admin
- Password: admin123
Penting: Ganti password default setelah login pertama kali!
- Jelajahi katalog produk di halaman utama
- Klik pada produk untuk melihat detail
- Tambahkan produk ke keranjang
- Lakukan checkout
- Login ke panel admin
- Kelola produk (tambah, edit, hapus)
- Pantau dan kelola stok produk
- Lihat statistik penjualan
Jika Anda mengalami masalah, lihat file TROUBLESHOOTING.md untuk panduan pemecahan masalah umum.
- Selalu gunakan password yang kuat untuk akun admin
- Simpan file konfigurasi di luar direktori web root
- Update sistem secara berkala
- Backup database secara rutin
- Filter Kategori: Pilih kategori produk (Roti, Kue, Pastry)
- Urutkan Harga: Urutkan produk berdasarkan harga (terendah/tertinggi)
- Pencarian: Cari produk berdasarkan nama
- Lihat Semua Produk: Tabel berisi semua produk dengan informasi lengkap
- Tambah Produk: Modal form untuk menambah produk baru dengan dukungan JPG, PNG, WebP
- Format Gambar: Halaman informasi format gambar yang didukung
- Edit/Hapus: Tombol untuk edit dan hapus produk (akan dikembangkan lebih lanjut)
- Backend: PHP 7.4+
- Database: MySQL 5.7+
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Framework CSS: Bootstrap 5.3.3
- Icons: Bootstrap Icons
- Fonts: Google Fonts (Poppins, Playfair Display)
Mengambil data produk dengan filter
Parameters:
kategori(optional): Filter berdasarkan kategoripencarian(optional): Pencarian berdasarkan nama produkurutan(optional): Urutan harga (default, rendah-tinggi, tinggi-rendah)
Response:
{
"status": "success",
"data": [
{
"id": 1,
"nama": "Classic Croissant",
"deskripsi": "Croissant mentega klasik...",
"harga": "18000.00",
"harga_formatted": "Rp 18.000",
"gambar": "assets/classic_croissant.jpg",
"kategori": "Pastry",
"stok": 50
}
],
"total": 12
}Mengambil daftar kategori
Response:
{
"status": "success",
"data": [
{"kategori": "Roti"},
{"kategori": "Kue"},
{"kategori": "Pastry"}
]
}-
Sistem login admin
- Halaman login dengan validasi
- Sistem session management
- Logout functionality
-
Fitur edit dan hapus produk
- Form edit produk dengan preview gambar
- Validasi input
- Hapus produk dengan konfirmasi
-
Sistem keranjang belanja
- Tambah/hapus produk dari keranjang
- Update jumlah item
- Hitung total belanja
-
Sistem checkout dasar
- Form data pelanggan
- Ringkasan pesanan
- Proses penyimpanan pesanan
-
Sistem pembayaran terintegrasi
- Integrasi dengan payment gateway
- Konfirmasi pembayaran
- Status pembayaran
-
Dashboard admin dengan statistik
- Grafik penjualan
- Ringkasan pendapatan
- Produk terlaris
-
Sistem review dan rating produk
- Form ulasan pelanggan
- Tampilan rating bintang
- Moderasi ulasan
-
Fitur wishlist
- Simpan produk favorit
- Notifikasi diskon produk wishlist
- Berbagi wishlist
-
Notifikasi email
- Konfirmasi pesanan
- Update status pengiriman
- Promo dan diskon
Project ini dibuat untuk tujuan pembelajaran. Silakan gunakan dan modifikasi sesuai kebutuhan.
Dibuat dengan β€οΈ oleh gurun.setiawan@gmail.com menggunakan PHP, MySQL, dan Bootstrap 5.
Note: Pastikan web server (Apache/Nginx) dan MySQL server sudah berjalan sebelum mengakses aplikasi.