Our POS system streamlines sales and inventory management. It features a Dashboard for key metrics, POS for easy transactions, and Customer & Supplier Management for tracking. Product Management allows bulk imports and organization. Sale & Purchase Management tracks transactions, while Reports provide business insights. Inventory Management includes low-stock alerts, and Discount & Pricing Control enables flexible pricing. User Roles & Permissions control access, and Settings customize preferences. Efficient, reliable, and ready to scale your business. 🚀
- Provides an overview of sales, and key metrics and some chart.
- Handles sales transactions with product search by name or barcode.
- Manage customer details for tracking purchases.
- Store supplier details for inventory management.
- Add, edit, and organize products, including categories, brands, and units.
- Bulk import products using CSV or other formats.
- View and track all sales transactions.
- Manage purchases and supplier orders.
- Generate reports for sales, inventory, and overall business performance.
- Track stock levels and get alerts for low stock.
- Apply discounts and manage special pricing.
- Assign roles and restrict access to certain functionalities.
- Configure system preferences, tax rates, and other business settings.
You can browse the live demo of the POS system in Laravel & React at the following link:
Welcome to the setup guide for the POS system in Laravel & React. This document provides comprehensive steps to install, configure, and run the project in your local environment, using both Docker and a native setup. Follow these instructions to ensure proper configuration.
Please ensure you have the following installed on your system:
- PHP (version 8.2 or higher)
- Composer
- npm
- MySQL (version 8.0 or compatible, e.g., MariaDB)
- Git
- XAMPP or WAMP (optional, for an all-in-one local server environment)
This application requires a server with the following specifications:
- PHP (version 8.2 or higher) with the extensions:
- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- PDO
- GD
- Zip
- PDO MySQL
- MySQL (version 8.0) or MariaDB
- Composer
- Nodejs
- Web Server: Apache or Nginx
This guide covers two setup methods:
- Setting Up Locally (Without Docker)
- Using Docker
git clone https://github.com/qtecsolution/qpos.git
cd qpos
Within the project directory, run:
composer install
npm install
Create the .env
file by copying the sample configuration:
cp .env.example .env
Secure the application by generating a key:
php artisan key:generate
You can configure the database using either the MySQL client or phpMyAdmin.
Using MySQL Client:
-
Access MySQL:
mysql -u {username} -p
-
Create Database:
CREATE DATABASE {db_name};
-
Grant User Permissions:
GRANT ALL ON {db_name}.* TO '{your_username}'@'localhost' IDENTIFIED BY '{your_password}';
-
Apply Changes and Exit:
FLUSH PRIVILEGES; EXIT;
-
Update
.env
Database Settings:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE={db_name} DB_USERNAME={your_username} DB_PASSWORD={your_password}
Using phpMyAdmin:
-
Access phpMyAdmin and log in with your credentials.
-
Create Database:
- Go to the "Databases" tab.
- Enter
{db_name}
in the "Create database" field. - Click "Create".
- Create User and Grant Permissions (If Needed):
- You can either use the root user or create a new user.
- To create a new user, go to the "User accounts" tab.
- Click "Add user account".
- Fill in the "User name" and "Password" fields.
- Under "Database for user", select "Create database with same name and grant all privileges".
- Click "Go".
-
Update
.env
Database Settings:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE={db_name} DB_USERNAME={your_username} DB_PASSWORD={your_password}
To set up the database tables and populate them with initial data, run:
php artisan migrate --seed
To run the application locally, execute:
php artisan serve
npm run dev
Your application will be available at http://127.0.0.1:8000.
git clone https://github.com/qtecsolution/qpos.git
cd qpos
- Setup Project
make setup
Access the application at http://localhost.
- Seeding: The database seeder is configured to populate initial data. Run
php artisan migrate --seed
to use it. After running the seeder, you can log in as an admin using the following credentials:- Email: [email protected]
- Password: 87654321
- Environment Variables: Ensure all necessary environment variables are set in the
.env
file. - Database Configuration: The application is configured for MySQL by default. Update the
.env
file as needed for other database connections.
This is an open source project and contributions are welcome. If you are interested in contributing, please follow this steps:
-
Fork the Repository:
- Fork the project on GitHub.
-
Create a Branch:
- Create a new branch for your feature or bug fix.
git checkout -b feature/your-feature-name
-
Submit a Pull Request:
- Open a pull request from your branch to the main repository. Provide a detailed description of your changes.
Our Team will review and merge your request
The POS system in Laravel & React project is open source and available under the MIT License. You are free to use, modify, and distribute this codebase in accordance with the terms of the license.
Please refer to the LICENSE file for more details.
If you encounter any issues or have questions, feel free to reach out through the following channels:
- Open an issue on the GitHub repository.
- Call for Queries: +8801313522828 (WhatsApp)
- Contact Form: Qtec Solution Contact Page
- Email: [email protected]
Stay updated with the latest news, updates, and releases: