TokoSaya is a simple yet functional E-Commerce web application built with the Laravel framework. This project serves as a platform for managing products, categories, and displaying them to customers.
It is designed to be easily deployed on shared hosting environments (like InfinityFree, cPanel) without requiring complex server configurations (SSH access/symlinks).
Aplikasi telah di-deploy di InfinityFree: 👉 Akses Website TokoSaya
- Dashboard: Overview of product stats.
- Product Management (CRUD):
- Add, Edit, and Delete products.
- Image Upload System: Optimized for shared hosting (images stored directly in
public/storage/products), eliminating the need forphp artisan storage:link.
- Category Management: Organize products into dynamic categories.
- Authentication: Secure login system for administrators.
- Product Catalog: Browse available products with images and details.
- Responsive Design: Compatible with desktop and mobile views.
- Framework: Laravel (PHP)
- Database: MySQL
- Frontend: Blade Templates, Bootstrap / Tailwind CSS
- Server: Apache / Nginx
Follow these steps to run the project on your local machine:
-
Clone the repository
git clone [https://github.com/Lesmana24/Ecommerce-TokoSaya.git](https://github.com/Lesmana24/Ecommerce-TokoSaya.git) cd Ecommerce-TokoSaya -
Install Dependencies
composer install npm install && npm run build -
Environment Setup
- Copy the
.env.examplefile to.env. - Configure your database credentials (DB_DATABASE, DB_USERNAME, etc.).
cp .env.example .env php artisan key:generate
- Copy the
-
Database Migration
php artisan migrate --seed
-
Run the Server
php artisan serve
Access the app at
http://127.0.0.1:8000.
This project has been optimized for shared hosting where SSH access is limited:
- Database: Export your local SQL and import it to your hosting's phpMyAdmin.
- Files: Upload all files to the server.
- Images:
- The
AdminProductControlleruses a custom logic to store images inpublic/storage/products. - No Symlink Required: You do not need to run
php artisan storage:link. Images will appear automatically.
- The
- Configuration: Update the
.envfile with your production database credentials.
| Admin Dashboard | Product List |
|---|---|
![]() |
![]() |
Lesmana24
- GitHub: Lesmana24
- Role: Informatics Engineering Student
Made with ❤️ and Laravel.

