Coder Social home page Coder Social logo

fahimanzamdip / triangle-pos Goto Github PK

View Code? Open in Web Editor NEW
471.0 19.0 169.0 4.01 MB

Triangle POS is an open source Inventory Management with POS System. Developed with Laravel 10, Bootstrap 4 & Livewire 3. It's completely free to use.

PHP 44.32% Blade 55.68% Procfile 0.01%
open-source inventory-management-system pos free-software business-solutions laravel php8 easy-to-use bootstrap4 laravel10

triangle-pos's Introduction

App Logo

Important Note: This Project is ready for Production. But use code from main branch only. If you find any bug or have any suggestion please create an Issue.

Local Installation

  • run git clone https://github.com/FahimAnzamDip/triangle-pos.git
  • run composer install
  • run npm install
  • run npm run dev
  • copy .env.example to .env
  • run php artisan key:generate
  • set up your database in the .env
  • run php artisan migrate --seed
  • run php artisan storage:link
  • run php artisan serve
  • then visit http://localhost:8000 or http://127.0.0.1:8000.

Important Note: "Triangle POS" uses Laravel Snappy Package for PDFs. If you are using Linux then no configuration is needed. But in other Operating Systems please refer to Laravel Snappy Documentation.

Admin Credentials

Email: [email protected] || Password: 12345678

Demo

Triangle POS Live Demo: will update soon

Triangle POS Features

  • Products Management & Barcode Printing
  • Stock Management
  • Make Quotation & Send Via Email
  • Purchase Management
  • Sale Management
  • Purchase & Sale Return Management
  • Expense Management
  • Customer & Supplier Management
  • User Management (Roles & Permissions)
  • Product Multiple Images
  • Multiple Currency Settings
  • Unit Settings
  • System Settings
  • Reports

License

Creative Commons Attribution 4.0 cc-by-4.0

triangle-pos's People

Contributors

fahimanzamdip avatar mzbk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

triangle-pos's Issues

Manipulate options

How to make barcode and customer optional in adding product and creating order?
What is the purpose of Adjustments?

Profile image isn't updated

The notifications show the profile is updated. But the profile picture still the default one, the image was there in the folder yet it wasn't called. Strangely this only occur to profile picture, the product image is showing fine. Does you know the cause of this? Thanks in advance.

419 Maybe, the CSRF token is missing.

Hi,

when using your demo server I am getting this error message: "419 Maybe, the CSRF token is missing."
I also got this error message on my local test server. Was fixed with installation of redis and memcached. Maybe this is missing on your test server as well?

BR

@import '@coreui/coreui/scss/coreui'; error

saya coba menjalankan projectnya tapi muncul seperti ini, ada solusi?

14:25:52 [vite] page reload resources/sass/app.scss
14:25:54 [vite] Internal server error: [sass] Can't find stylesheet to import.

2 │ @import '@coreui/coreui/scss/coreui';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

resources\sass\app.scss 2:9 root stylesheet
Plugin: vite:css
File: C:\xampp\htdocs\triangle\resources\sass\app.scss:2:9
Error: Can't find stylesheet to import.

2 │ @import '@coreui/coreui/scss/coreui';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

resources\sass\app.scss 2:9 root stylesheet

How to rank user based on how they accumulated revenue

What to change and what to do in general so that i can make everytime i do the pos they ask the the user name and also add that user name into sales database, and so i can rank them at the dashboard? Anyone? Thank you if someone reading this.

Inventory Summary

This project is awesome. Can you please consider adding "Inventory Summary" under the "Report" so that the user can get the
"All Products" list with the "Total Inventory Value" "Total Quantity" and "Total Retail Value" so it would be nice.

Fix bug

Illuminate\Contracts\Container\BindingResolutionException

Target class [CommandMakeCommand] does not exist.

Images doesn't load

Images doesn't load at all in the script I don't know why
even in the demo provided by you.
I linked storage already.

Improved README

Prerequisites

Before you start, make sure you have these programs installed on your computer:

  • Git: For cloning the project repository.
  • Composer: For managing PHP dependencies.
  • Node.js and npm: For managing JavaScript packages.
  • PHP (version 7.3 or higher): The programming language used.
  • MySQL or any other SQL database system: For storing data.

👉 Note: If you don't have these installed, you won't be able to set up the project. Search online for installation guides for each program based on your operating system.

Local Installation Steps

Step 1: Install and Configure SQL Server

  1. What to Do: Install an SQL server like MySQL.
  2. How to Do It:
    • Go to the MySQL download page.
    • Download the installer suitable for your operating system.
    • Run the installer and follow the on-screen instructions.
  3. After Installation: Open your SQL management tool (like MySQL Workbench) and create a new database. Name it anything you like, for example, triangle_pos.
  4. What Could Go Wrong:
    • Installation fails: Make sure you're downloading the correct version for your operating system.
    • Can't create a database: Ensure the SQL server is running and you're using the correct credentials.

Step 2: Clone the Repository

  1. What to Do: Download the project onto your computer.
  2. How to Do It:
    • Open your terminal (Command Prompt, PowerShell, Terminal, etc.).
    • Navigate to the folder where you want the project to be. Use cd your_folder_name to navigate.
    • Run the following command:
    git clone https://github.com/FahimAnzamDip/triangle-pos.git
  3. What Could Go Wrong:
    • If it says git is not recognized, it means Git is not installed. Install it first.
    • Make sure you're in the folder where you want the project to be. Use ls or dir to check the current folder's contents.

Step 3: Navigate to Project Directory

  1. What to Do: Move into the project's folder in the terminal.
  2. How to Do It:
    • Your terminal should still be open.
    • Run this command:
    cd triangle-pos
  3. What Could Go Wrong:
    • If it says No such file or directory, make sure you cloned the project in the previous step.

Step 4: Install Composer Dependencies

  1. What to Do: Get the PHP packages that the project needs.
  2. How to Do It:
    • In the terminal, make sure you're in the triangle-pos folder.
    • Run this command:
    composer install
  3. What Could Go Wrong:
    • If it says composer is not recognized, Composer is not installed. Install it first.
    • If you get other errors, make sure your internet connection is stable.

Step 5: Install NPM Packages

  1. What to Do: Get the JavaScript packages and prepare the front-end assets.
  2. How to Do It:
    • In the terminal, still in the triangle-pos folder, run:
    npm install
    npm run dev
  3. What Could Go Wrong:
    • If it says npm is not recognized, Node.js and npm are not installed. Install them first.
    • If you get other errors, make sure your internet connection is stable.

Step 6: Setup Environment File

  1. What to Do: Create a configuration file for the project.
  2. How to Do It:
    • In the terminal, still in the triangle-pos folder, run:
    cp .env.example .env
    php artisan key:generate
  3. What Could Go Wrong:
    • If you get an error like No such file or directory, make sure the .env.example file exists in the triangle-pos folder.

Step 7: Configure Database in .env

  1. What to Do: Tell the project how to connect to your database.
  2. How to Do It:
    • Open the .env file using a text editor like Notepad or VSCode.
    • Find these lines and fill in your database details:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_database_user
    DB_PASSWORD=your_database_password
  3. What Could Go Wrong:
    • If you put in the wrong details, the project won't be able to connect to the database. Double-check your database name, username, and password.

Step 8: Run Migrations and Seeds

  1. What to Do: Create tables in your database and fill them with starter data.
  2. How to Do It:
    • In the terminal, still in the triangle-pos folder, run:
    php artisan migrate --seed
  3. What Could Go Wrong:
    • If you get an error, make sure your database details in .env are correct and your SQL server is running.

Step 9: Create Symbolic Link for Storage

  1. What to Do: Make sure the project can save files like images.
  2. How to Do It:
    • In the terminal, still in the triangle-pos folder, run:
    php artisan storage:link
  3. What Could Go Wrong:
    • If you get an error, make sure the storage/app/public folder exists in the triangle-pos folder.

Step 10: Start Development Server

  1. What to Do: Make the project accessible through a web browser.
  2. How to Do It:
    • In the terminal, still in the triangle-pos folder, run:
    php artisan serve
  3. What Could Go Wrong:
    • If you get an error like Port 8000 already in use, another program is using that port. You can specify a different port by running php artisan serve --port=8080.

Step 11: Access the Application

  1. What to Do: Open the project in your web browser to make sure it works.
  2. How to Do It:
    • Open your web browser.
    • In the address bar, type http://localhost:8000 or http://127.0.0.1:8000 and press Enter.
  3. What Could Go Wrong:
    • If the page doesn't load, make sure the development server is running (Step 10) and you're using the correct address.

Admin Credentials

Purchase Business Process (Wrong)

I think your Purchase Business process is wrong buddy. i think the amount of unit price must input with user, not automatically filled by price of product. so, unit price must free input. Of course, you should create another Livewire called ProductPurchaseCart. So, that livewire only contain for Purchase Feature. but all the feature is awesome man! you are great! i hope you can take my advice and update your code soon! God Speed!

403 Forbidden if validation fails

I'm trying to add a new user but if fields validation failed I get 403 error.
Do you have any idea why is that?
I tried demo link and it's working fine. I didn't change any thing in user controller.
This happens specially if the request has an image.

Update Profile Error

I changed the admin avatar and then pressed save and got an error:

ErrorException
Undefined array key "email"

Hosting

How install triangle pos in Hosting cloudpanel..
please helpme..

Why hide the routes?!!!!

Screenshot 2021-12-12 192458
Thank you and I love the project.. my question is why to hide the routes cause I am trying to host on a Cpanel shared server...
Please assist

Illuminate\Contracts\Container\BindingResolutionException

Target class [CommandMakeCommand] does not exist.
vendor/laravel/framework/src/Illuminate/Container/Container.php:879
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

Purchase

New purchase quontity do not update , inventory quontity.

php artisan migrate --seed problem

Illuminate\Database\QueryException

SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select table_name as name, (data_length + index_length) as size, table_comment as comment, engine as engine, table_collation as collation from information_schema.tables where table_schema = 'kasir' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)

at vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
825▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
826▕ );
827▕ }
828▕
➜ 829▕ throw new QueryException(
830▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
831▕ );
832▕ }
833▕ }

  +39 vendor frames 

40 artisan:35
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

If i run command php artisan migrate --seed on my visual studio code terminal it turns like this. How to solve it?

when deleting category a "BadMethodCallException" is showing

Call to undefined method Illuminate\Database\Eloquent\Relations\HasMany::isNotEmpty()

public function destroy($id) {

    abort_if(Gate::denies('access_product_categories'), 403);
    $category = Category::findOrFail($id);
    if ($category->products()->isNotEmpty()) {

        return back()->withErrors('Can\'t delete beacuse there are products associated with this category.');

    }
    $category->delete();
    toast('Product Category Deleted!', 'warning');

    return redirect()->route('product-categories.index');

Profit/loss summary

Hi, i think the profit data is imprecise.

foreach ($sales as $sale) { foreach ($sale->saleDetails as $saleDetail) { $product_costs += $saleDetail->product->product_cost; } }

this means if you get have the sales qty above 1, you will get the product cost equal to 1 product.
for example:
A = 130.000, we sell A with price 140.000. so the profit is 10.000 per item
if we create sales with 5 qty, we get 570.000 profit instead of 50.000

Production error on login

Upon deployment on production, this occurs on attempt
Symfony\Component\HttpFoundation\Response::setContent(): Argument #1 ($content) must be of type ?string,

Custom

How i can to custom the port... and i can run without use ssh php artisan serve is active...
because i used ubuntu and install this pos in cloudpanel.. my ubuntu terminal always for this POS.. i canot exit and if iam exit with ctrl + C this aplication is Off...

sory may english not good..
i hope u can understand.
thankyou

The requested quantity is not available in stock.

When I try to add purchases it says The requested quantity is not available in stock.
I think purchase should be added to the stock not subtracted from it and sales should be subtracted from stock.

Can you please explain the logic of the script, how it works?

bug

pdf generator invalid in payment details, barcode pdf download does'nt work

Profit on Dashboard & Reports

Profits are calculated by deducting product cost price from revenue but it is not multiplying the cost price by quantity.

Here is the sample fix:
$product_costs += $saleDetail->product->product_cost * $saleDetail->quantity;

setting

waktu di rubah setting nya eror
image

RTL support

Does it support RTL layout?
How to switch to it if yes?

Simply replace this code inside of [ROOT_document]\triangle-pos-master\Modules\Sale\Routes\web.php

    Simply replace this code inside of  [ROOT_document]\triangle-pos-master\Modules\Sale\Routes\web.php 
Route::get('/sales/pos/pdf/{id}', function ($id) {
        $sale = \Modules\Sale\Entities\Sale::findOrFail($id);
//        $pdf = \PDF::loadView('sale::print-pos', [
//            'sale' => $sale,
//        ])->setPaper('a7')
//            ->setOption('margin-top', 8)
//            ->setOption('margin-bottom', 8)
//            ->setOption('margin-left', 5)
//            ->setOption('margin-right', 5);
//
//        return $pdf->stream('sale-'. $sale->reference .'.pdf');
        $html=view('sale::print-pos',['sale'=>$sale]);
        $mpdf = new \Mpdf\Mpdf(['format' => [80, 150]]);
        $mpdf->WriteHTML($html);
        $mpdf->Output();
    })->name('sales.pos.pdf');

Originally posted by @sarmadmahar in #8 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.