Skip to content

accdan/dimsumco-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯Ÿ Dimsumco Pro

Dimsumco Logo

Premium Dimsum E-Commerce Platform

Laravel PHP MySQL Bootstrap

A modern, full-featured e-commerce web application for premium Dimsum brand.

Features β€’ Tech Stack β€’ Installation β€’ Security β€’ Performance


✨ Features

πŸ›’ Customer Experience

Feature Description
Responsive Design Mobile-first approach with hybrid navbar (desktop) and off-canvas burger menu (mobile)
Product Catalog Dynamic browsing with category filters, price range, and search functionality
Product Variants Support for multiple portion sizes (6 Pcs, 8 Pcs, 16 Pcs) with individual pricing
Shopping Cart Floating sticky cart with real-time updates and variant selection
Checkout System Streamlined checkout with voucher application and address management
Order Tracking Real-time order status updates with detailed history
User Dashboard Profile management, avatar upload, order history, and voucher wallet
Voucher System Claim, manage, and redeem promotional vouchers with expiry tracking
Google OAuth One-click login with Google account integration

πŸ›‘οΈ Admin Dashboard

Feature Description
Product Management Full CRUD with variants, badges (Best Seller, New), stock tracking, and soft delete
Category Management Organize products into categories with descriptions
Order Management Real-time order tracking, status updates (pending β†’ processing β†’ completed β†’ cancelled)
Voucher Management Create vouchers with custom colors, validity periods, usage limits, and analytics
User Management View, edit, and manage customer accounts
Admin Roles Super Admin and Admin role separation with different permissions
Activity Logs Track all admin actions for audit and security
Error Logs Built-in GUI for viewing and managing application errors
Maintenance Mode Toggle site maintenance from dashboard
System Backup Database export and backup functionality
Trash Management Soft-deleted items recovery with permanent delete option
Real-time Statistics Dashboard with active orders, daily revenue, and inventory alerts

πŸ“± User Interface

  • Dimsum Red Theme - Consistent #D11920 brand color across all pages
  • Glassmorphism Effects - Modern glass-like UI elements
  • Micro-animations - Smooth transitions and hover effects
  • Dark Mode Ready - Infrastructure for dark theme implementation
  • Custom Error Pages - Branded 401, 403, 404, 419, 429, 500, 503 error pages
  • Floating WhatsApp Button - Quick customer contact
  • Toast Notifications - Non-intrusive success/error messages

πŸ› οΈ Tech Stack

Backend

  • Framework: Laravel 12.x
  • PHP: 8.2+
  • Database: MySQL 8.0+ / SQLite (dev)
  • Authentication: Laravel Breeze + Google OAuth (Socialite)
  • ORM: Eloquent with Soft Deletes

Frontend

  • Templates: Blade Templating Engine
  • CSS: Bootstrap 5.3 + Custom CSS
  • Icons: FontAwesome 6
  • JavaScript: Vanilla JS + jQuery (specific interactions)

DevOps

  • Version Control: Git/GitHub
  • Deployment: Railway / Vercel / DigitalOcean / Heroku
  • CI/CD: GitHub Actions compatible

πŸš€ Installation

Prerequisites

  • PHP 8.2+
  • Composer 2.x
  • MySQL 8.0+ or SQLite
  • Node.js 18+ (for asset compilation)

Quick Start

# 1. Clone repository
git clone https://github.com/accdan/dimsumco-pro.git
cd dimsumco-pro

# 2. Install dependencies
composer install
npm install

# 3. Configure environment
cp .env.example .env
php artisan key:generate

# 4. Setup database (edit .env with your credentials)
php artisan migrate:fresh --seed

# 5. Start development server
php artisan serve

Visit http://127.0.0.1:8000

Default Credentials

Role Email Password
Super Admin (configured in .env) Super123

πŸ”’ Security

Authentication & Authorization

Feature Implementation
Password Hashing bcrypt with auto-rehashing
CSRF Protection All forms protected with CSRF tokens
XSS Prevention Blade auto-escaping + Content Security Policy
SQL Injection Eloquent ORM parameterized queries
Mass Assignment Explicit $fillable arrays on all models
Rate Limiting Login attempts throttled (5 per minute)
OTP Verification 6-digit OTP for login with 3-minute expiry
Email Verification Email link verification for new registrations

Two-Factor Authentication (2FA)

Feature Description
Login OTP 6-digit code required for regular user login
3-Minute Expiry OTP codes expire after 3 minutes for security
Admin Bypass Admin/Super Admin login directly without OTP
Google OAuth Support OTP verification also applies to Google login
Resend Limit OTP resend only available after expiry (rate limited)
DEV Mode OTP displayed on screen for development testing

Access Control

Feature Implementation
Role-Based Access Super Admin / Admin / User roles
Route Protection Middleware guards on all admin routes
Admin Separation Separate login portal for administrators
Session Security Secure cookies, HTTP-only flags

Data Protection

Feature Implementation
Environment Security .env excluded from git, secrets protected
Soft Deletes Data recovery instead of permanent deletion
Activity Logging All admin actions logged with timestamps
Input Validation Server-side validation on all forms

OAuth Security

# Google OAuth configured via environment variables
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=your-callback-url

⚑ Performance

Optimization Techniques

Technique Implementation
Query Optimization Eager loading (with()) to prevent N+1 queries
Config Caching php artisan config:cache for production
Route Caching php artisan route:cache for faster routing
View Caching php artisan view:cache for compiled Blade templates
Autoloader Optimization composer install --optimize-autoloader

Database Performance

Technique Implementation
Indexed Columns Foreign keys, frequently queried columns indexed
Pagination All listings use cursor/offset pagination
Selective Queries Only fetch required columns with select()

Frontend Performance

Technique Implementation
Asset Minification CSS/JS minified for production
Lazy Loading Images loaded on-demand
External CDN FontAwesome, Bootstrap served via CDN
Browser Caching Static assets with cache headers

Production Commands

# Cache everything for production
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

# Optimize Composer
composer install --no-dev --optimize-autoloader

# Clear all caches (if needed)
php artisan optimize:clear

πŸ“‚ Project Structure

dimsumco-pro/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Console/Commands/     # Artisan commands (ValidateModels)
β”‚   β”œβ”€β”€ Http/
β”‚   β”‚   β”œβ”€β”€ Controllers/
β”‚   β”‚   β”‚   β”œβ”€β”€ Admin/        # Admin dashboard controllers
β”‚   β”‚   β”‚   └── ...           # Public controllers
β”‚   β”‚   β”œβ”€β”€ Middleware/       # Auth, RBAC, Activity logging
β”‚   β”‚   └── Requests/         # Form request validation
β”‚   └── Models/               # Eloquent models
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/           # Database schema
β”‚   └── seeders/              # Sample data
β”œβ”€β”€ resources/views/
β”‚   β”œβ”€β”€ admin/                # Admin panel views
β”‚   β”œβ”€β”€ layouts/              # Master layouts
β”‚   β”œβ”€β”€ partials/             # Reusable components
β”‚   └── ...                   # Public views
β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ web.php               # Public routes
β”‚   β”œβ”€β”€ admin.php             # Admin routes
β”‚   └── super_admin.php       # Super admin routes
└── public/                   # Static assets

πŸ”§ Development Tools

Model Validation

# Validate all models against database schema
php artisan models:validate

Database Management

# Fresh migration with seeding
php artisan migrate:fresh --seed

# Run seeders only
php artisan db:seed

# Rollback and re-run migrations
php artisan migrate:refresh

πŸ“‹ Environment Variables

# Application
APP_NAME=Dimsumco
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.com

# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dimsumco
DB_USERNAME=your_username
DB_PASSWORD=your_password

# Super Admin
SUPER_ADMIN_EMAIL=admin@dimsumco.com

# Google OAuth
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=${APP_URL}/auth/google/callback

# Session & Cache
SESSION_DRIVER=database
CACHE_DRIVER=file
QUEUE_CONNECTION=sync

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

πŸ“„ License

This project is proprietary software. All rights reserved.


Made with ❀️ by Dimsumco Team

Β© 2025 Dimsumco. All Rights Reserved.

About

Sebuah Website Catalog UMKM bernama Dimsumco di Daerah Gresik - Kedamean - Menunggal - Jawa Timur

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors