qtecsolution/qpos
Smart POS System – Built with Laravel, React, and Vue.js! Streamline your sales, inventory, and customer management with powerful features like real-time dashboards, bulk product import, low-stock alerts, dynamic pricing, and detailed reports. Fast, flexible, and ready to scale your business
🚀 POS system in Laravel & React
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. 🚀
✨ Features
📊 Dashboard
- Provides an overview of sales, and key metrics and some chart.
🛒 POS (Point of Sale)
- Handles sales transactions with product search by name or barcode.
👥 Customer Management
- Manage customer details for tracking purchases.
🏢 Supplier Management
- Store supplier details for inventory management.
📦 Product Management
- Add, edit, and organize products, including categories, brands, and units.
📂 Product Import
- Bulk import products using CSV or other formats.
💵 Sale Management
- View and track all sales transactions.
🛍️ Purchase Management
- Manage purchases and supplier orders.
📊 Reports
- Generate reports for sales, inventory, and overall business performance.
📉 Inventory Management
- Track stock levels and get alerts for low stock.
💲 Discount & Pricing Control
- Apply discounts and manage special pricing.
🔒 User Roles & Permissions
- Assign roles and restrict access to certain functionalities.
⚙️ Settings
- Configure system preferences, tax rates, and other business settings.
🎥 Demo
You can browse the live demo of the POS system in Laravel & React at the following link:
Dashboard:
POS :
Sales List :
Product Add :
Product List :
Product Purchase :
Reporting :
Users & Role Management :
Application Settings :
📦 Installation
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.
📝 Prerequisites
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)
📈 Server Requirements
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
⚙️ Setup Options
This guide covers two setup methods:
- Setting Up Locally (Without Docker)
- Using Docker
🚀 Setup Without Docker
1. Clone the Repository
git clone https://github.com/qtecsolution/qpos.gitcd qpos2. Install Dependencies
Within the project directory, run:
PHP Dependencies
composer installNode Dependencies
npm install3. Configure the Environment
Create the .env file by copying the sample configuration:
cp .env.example .env4. Generate Application Key
Secure the application by generating a key:
php artisan key:generate5. Configure Database
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
.envDatabase 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
.envDatabase 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}
6. Run Migrations and Seed Data
To set up the database tables and populate them with initial data, run:
php artisan migrate --seed7. Start the Development Server
To run the application locally, execute:
php artisan serve
npm run devYour application will be available at http://127.0.0.1:8000.
🐳 Setup with Docker
1. Clone the Repository
git clone https://github.com/qtecsolution/qpos.git
cd qpos2. Initialize the Project with Make Command
- Setup Project
make setupAccess the application at http://localhost.
🛠️ Additional Information
- Seeding: The database seeder is configured to populate initial data. Run
php artisan migrate --seedto use it. After running the seeder, you can log in as an admin using the following credentials:- Email: demo@qtecsolution.net
- Password: 87654321
- Environment Variables: Ensure all necessary environment variables are set in the
.envfile. - Database Configuration: The application is configured for MySQL by default. Update the
.envfile as needed for other database connections.
🤝 Contributing
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
📝 License
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.
Support
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: info@qtecsolution.com
Follow Us on Social Media
Stay updated with the latest news, updates, and releases:











