Warungku (My Shop) is a web-based e-commerce and point-of-sale (POS) application built to provide a seamless customer-facing interface for browsing menus, managing a shopping cart, and proceeding through checkout.
This project is built using modern web development tools and frameworks:
- Framework: Laravel 12.x
- Language: PHP 8.2+
- Database: Configured via Eloquent ORM
- Bundler: Vite 7.x
- Styling: Tailwind CSS v4 (
@tailwindcss/vite) - Templating: Laravel Blade (
resources/views/customer/)
The project follows the standard Laravel MVC architectural pattern:
- Controllers: The core logic for the customer interface is handled in
app/Http/Controllers/MenuController.php. - Models: Core business entities are located in
app/Models/and include:UserRoleCategoryItemOrderOrderItem
- Views: Customer-facing views are located in
resources/views/customer/and utilize Blade templating and layout extensions. - Routes: Defined in
routes/web.php, handling core pages such as/menu,/cart, and/checkout.
To run this application locally, ensure you have PHP 8.2+, Composer, Node.js, and npm installed on your machine.
git clone <your-repository-url>
cd warungkucomposer installnpm installCopy the example environment file and configure your local environment (especially the DB_* variables):
cp .env.example .envOnce your .env is configured, generate the application key:
php artisan key:generateRun the database migrations and seed the database with initial data (Categories, Items, Users, Roles):
php artisan migrate --seedWarungku comes with a pre-configured Composer script that uses concurrently to start the Laravel server, the Queue listener, and the Vite development server simultaneously.
Run the following command:
composer run devAlternatively, you can run these processes manually in separate terminal windows:
- Start the Laravel backend server:
php artisan serve - Start the Vite frontend server:
npm run dev
To compile the frontend assets for production deployment:
npm run buildPHPUnit is configured for unit and feature testing located in the tests/ directory.
To run the tests:
composer run testor
php artisan test- Cart Management: Cart operations (add, update, remove) are handled via HTTP requests to specific endpoints managed by the
MenuController. - Styling: Utility-first styling is strictly enforced using Tailwind CSS v4.
The Laravel framework is open-sourced software licensed under the MIT license.