An e-commerce platform dedicated to camping equipment, built with Laravel 11. This application provides a seamless shopping experience for outdoor enthusiasts, featuring product browsing, a shopping cart system, secure checkout, and comprehensive order management.
- User Authentication: Secure registration and login using Laravel Breeze.
- Product Catalog: Browse and search a variety of camping products.
- Shopping Cart: Add items, adjust quantities, and manage your cart effortlessly.
- Checkout System: Secure payment processing integrated with Midtrans.
- User Dashboard: View order history and manage your profile.
- Admin Dashboard: Dedicated area for administrators to manage products, orders, and view transactions.
- Responsive Design: Built with Tailwind CSS for a modern, mobile-friendly interface.
- Reviews: Users can read and leave testimonials.
- Backend: Laravel 11.x
- Language: PHP 8.2+
- Frontend:
- Database: MySQL
- Payment Gateway: Midtrans
Before you begin, ensure you have the following installed:
- PHP (v8.2 or higher)
- Composer
- Node.js & NPM
- MySQL
-
Clone the repository:
git clone https://github.com/your-username/camping-shop.git cd camping-shop -
Install PHP dependencies:
composer install
-
Install frontend dependencies:
npm install npm run build
-
Configure Environment: Copy the
.env.examplefile to.env:cp .env.example .env
-
Set up Database: Open
.envand update your database credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password
-
Configure Midtrans (Payment): Add your Midtrans keys to the
.envfile:MIDTRANS_SERVER_KEY=your_server_key MIDTRANS_CLIENT_KEY=your_client_key MIDTRANS_IS_PRODUCTION=false
-
Generate App Key:
php artisan key:generate
-
Run Migrations and Seeders: This will set up the database structure and populate it with sample data (products, default users).
php artisan migrate --seed
-
Serve the Application:
php artisan serve
The app should now be running at
http://localhost:8000.
The database seeder creates standard accounts for testing purposes:
| Role | Password | |
|---|---|---|
| Admin | [email protected] |
aaaaaaaa |
| User | [email protected] |
testtest |
app/Livewire: Contains Livewire components for dynamic UI (Counter, Shop, etc.).app/Models: Eloquent models representing the database tables.app/Http/Controllers: Standard controllers for handling requests.database/migrations: Database schema definitions.resources/views: Blade templates for the frontend.routes/web.php: Application routes definition.
This project is open-sourced software licensed under the MIT license.