Skip to content

masoumeh9977/online-store

Repository files navigation

🛍️ Project Description

This repository is a sample Laravel project demonstrating my ability to build web applications. It includes a variety of Laravel features, design patterns, and tools commonly used in real-world systems. This is a Laravel-based e-commerce web application built to simulate a real-world online shopping experience. The project includes a full-featured customer-facing storefront and a secure admin panel for managing products, categories, orders, discounts and users.

🛒 Storefront (Customer Side)

  • Product listing with pagination
  • Product detail pages
  • Shopping cart and checkout system
  • User registration and login
  • Order history and tracking
  • Automatic email includes order summary and delivery details

🔐 Admin Panel

  • Admin authentication
  • CRUD management for:Products, Categories, Orders, Users
  • Role-based access control
  • File uploads for product images

🚀 Features & Laravel Concepts Demonstrated

🧱 Design Patterns

  • Repository Pattern – for abstraction and clean data access.
  • Builder Pattern – for composing complex queries and filters.

📐 Architecture & Best Practices

  • Custom Request Validation – using FormRequest classes to handle input validation.
  • Custom Validation Rules – reusable and domain-specific validation logic.
  • Validation Exception Handling – clean and consistent error responses.
  • REST API Response Handling – unified API response format (success/error/data).
  • Model Observers – for separating side effects from model logic.
  • Accessors & Mutators – for transforming model attributes.
  • Custom Middleware – for handling the user role.

🧩 Laravel Ecosystem & Tools

🧬 Data Handling

  • Seeders & Factories – for generating test and demo data.
  • Events & Listeners – decoupling logic with event-driven architecture.
  • Jobs (Queued) – handling async tasks like emails or background processing.

📦 API Design

The project includes a RESTful API built with:

  • Authentication using Laravel Sanctum
  • JSON responses with proper status codes

🛠️ Admin Panel

The admin panel is built with Filament, supporting:

  • Dynamic access control
  • Custom login logic
  • Role-based panel access

✅ Requirements

  • PHP >= 8.2
  • Laravel 12
  • Composer
  • MySQL

🧪 Setup Instructions

git clone https://github.com/masoumeh9977/online-store.git
cd your-sample-project

composer install
cp .env.example .env
php artisan key:generate

**To set up the admin panel**
php artisan filament:install

php artisan app:setup
php artisan serve

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors