{"id":20496900,"url":"https://github.com/aryajava/pos","last_synced_at":"2026-04-19T11:35:49.338Z","repository":{"id":258909295,"uuid":"875885323","full_name":"aryajava/pos","owner":"aryajava","description":"Point of Sale Application, develop with expressjs and postgresql","archived":false,"fork":false,"pushed_at":"2024-10-24T09:56:13.000Z","size":5598,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T19:12:26.404Z","etag":null,"topics":["point-of-sale"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aryajava.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T03:18:02.000Z","updated_at":"2024-10-24T09:56:17.000Z","dependencies_parsed_at":"2024-10-24T15:57:31.405Z","dependency_job_id":null,"html_url":"https://github.com/aryajava/pos","commit_stats":null,"previous_names":["aryajava/pos"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aryajava/pos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryajava%2Fpos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryajava%2Fpos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryajava%2Fpos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryajava%2Fpos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryajava","download_url":"https://codeload.github.com/aryajava/pos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryajava%2Fpos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32005821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["point-of-sale"],"created_at":"2024-11-15T18:09:12.937Z","updated_at":"2026-04-19T11:35:49.288Z","avatar_url":"https://github.com/aryajava.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Point of Sales (POS)\n\n## Introduction\n\nThis is a simple full stack application designed to help record sales and purchases in stores. It is built using modern web technologies to ensure efficiency and scalability.\n\n## Technologies\n\n### Backend\n![ExpressJS](https://img.shields.io/badge/ExpressJS-000000?style=flat\u0026logo=express\u0026logoColor=white) ![PostgresQL](https://img.shields.io/badge/PostgresQL-336791?style=flat\u0026logo=postgresql\u0026logoColor=white) ![Node.JS](https://img.shields.io/badge/Node.JS-339933?style=flat\u0026logo=node.js\u0026logoColor=white) ![Socket.IO](https://img.shields.io/badge/Socket.IO-010101?style=flat\u0026logo=socket.io\u0026logoColor=white)\n\n### Frontend\n![EJS](https://img.shields.io/badge/EJS-000000?style=flat\u0026logo=ejs\u0026logoColor=white) ![JQuery](https://img.shields.io/badge/JQuery-0769AD?style=flat\u0026logo=jquery\u0026logoColor=white) ![Bootstrap](https://img.shields.io/badge/Bootstrap-563D7C?style=flat\u0026logo=bootstrap\u0026logoColor=white) ![DataTables](https://img.shields.io/badge/DataTables-336791?style=flat\u0026logo=datatables\u0026logoColor=white)\n\n## Features\n\n- **User authentication and authorization**: Secure login and role-based access control.\n- **Record sales and purchases**: Track sales and purchase transactions.\n- **Manage customers, suppliers, goods, and units**: CRUD operations for managing customers, suppliers, goods, and units.\n- **Generate and export reports in various formats**: Create and export reports in formats like CSV, Excel, etc.\n- **Real-time notifications using Socket.IO**: Receive real-time alerts and updates.\n- **Responsive design using Start Bootstrap - SB Admin 2**: Mobile-friendly and responsive UI design.\n- **Data validation and error handling**: Ensure data integrity and handle errors gracefully.\n- **File uploads and image processing with Sharp**: Upload files and process images efficiently.\n- **Flash messages for user feedback**: Display success and error messages to users.\n- **DataTables for responsive tables**: Use DataTables for interactive and responsive tables.\n- **Select2 for enhanced select boxes**: Enhance select boxes with search and multi-select capabilities.\n\n## Table of Contents\n\n- [Point of Sales](#point-of-sales)\n  - [Introduction](#introduction)\n  - [Technologies](#technologies)\n  - [Features](#features)\n  - [Table of Contents](#table-of-contents)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [Contributing](#contributing)\n  - [License](#license)\n  - [Database Structure](#database-structure)\n    - [User Table](#user-table)\n    - [Unit Table](#unit-table)\n    - [Supplier Table](#supplier-table)\n    - [SaleItem Table](#saleitem-table)\n    - [PurchaseItem Table](#purchaseitem-table)\n    - [Sale Table](#sale-table)\n    - [Purchase Table](#purchase-table)\n    - [Customer Table](#customer-table)\n    - [Auth Table](#auth-table)\n    - [Dashboard Table](#dashboard-table)\n  - [Contact](#contact)\n\n## Prerequisites\n\n* Git - [Download \u0026 Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.\n\n* Node.JS - [Download \u0026 Install Node.JS](https://nodejs.org/en/download/current), and the npm package manager.\n\n* PostgresQL - [Download \u0026 Install PostgresQL](https://www.postgresql.org/download/), and make sure it's running on the default port (27017).\n\n## Installation\n\nTo install the dependencies, run the following command:\n\n```bash\nnpm install\n```\n\nCreate a `.env` file in the root of your project and add the following lines:\n\n```bash\nDB_HOST=your_db_host_here\nDB_PORT=your_db_port_here\nDB_NAME=your_db_name_here\nDB_USER=your_db_user_here\nDB_PASSWORD=your_db_password_here\nSESSION_SECRET=your_session_secret_here\n```\n\n## Usage\n\nTo start the application, use the following command:\n\n```bash\nnpm run dev\n```\n\n## Contributing\n\nIf you would like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.\n\n## License\n\nThis project is [MIT License](./LICENSE).\n\n## Database Structure\n\n### User Table\n```sql\nCREATE TABLE users (\n  id SERIAL PRIMARY KEY,\n  email VARCHAR(255) UNIQUE NOT NULL,\n  name VARCHAR(255) NOT NULL,\n  password VARCHAR(255) NOT NULL,\n  role VARCHAR(50) NOT NULL\n);\n```\n\n### Unit Table\n```sql\nCREATE TABLE units (\n  id SERIAL PRIMARY KEY,\n  unit VARCHAR(50) UNIQUE NOT NULL,\n  name VARCHAR(255) NOT NULL,\n  note TEXT\n);\n```\n\n### Supplier Table\n```sql\nCREATE TABLE suppliers (\n  id SERIAL PRIMARY KEY,\n  name VARCHAR(255) NOT NULL,\n  address TEXT,\n  phone VARCHAR(50)\n);\n```\n\n### SaleItem Table\n```sql\nCREATE TABLE sale_items (\n  id SERIAL PRIMARY KEY,\n  invoice VARCHAR(50) NOT NULL,\n  itemcode VARCHAR(50) NOT NULL,\n  quantity INTEGER NOT NULL,\n  sellingprice DECIMAL(10, 2) NOT NULL,\n  totalprice DECIMAL(10, 2) NOT NULL\n);\n```\n\n### PurchaseItem Table\n```sql\nCREATE TABLE purchase_items (\n  id SERIAL PRIMARY KEY,\n  invoice VARCHAR(50) NOT NULL,\n  itemcode VARCHAR(50) NOT NULL,\n  quantity INTEGER NOT NULL,\n  purchaseprice DECIMAL(10, 2) NOT NULL,\n  totalprice DECIMAL(10, 2) NOT NULL\n);\n```\n\n### Sale Table\n```sql\nCREATE TABLE sales (\n  id SERIAL PRIMARY KEY,\n  customer VARCHAR(255),\n  operator VARCHAR(255) NOT NULL\n);\n```\n\n### Purchase Table\n```sql\nCREATE TABLE purchases (\n  id SERIAL PRIMARY KEY,\n  supplier VARCHAR(255),\n  operator VARCHAR(255) NOT NULL\n);\n```\n\n### Goods Table\n```sql\nCREATE TABLE goods (\n  id SERIAL PRIMARY KEY,\n  barcode VARCHAR(50) UNIQUE NOT NULL,\n  name VARCHAR(255) NOT NULL,\n  stock INTEGER NOT NULL,\n  purchaseprice DECIMAL(10, 2) NOT NULL,\n  sellingprice DECIMAL(10, 2) NOT NULL,\n  unit VARCHAR(50) NOT NULL,\n  picture TEXT\n);\n```\n\n### Customer Table\n```sql\nCREATE TABLE customers (\n  id SERIAL PRIMARY KEY,\n  name VARCHAR(255) NOT NULL,\n  address TEXT,\n  phone VARCHAR(50)\n);\n```\n\n### Auth Table\n```sql\nCREATE TABLE auth (\n  id SERIAL PRIMARY KEY,\n  email VARCHAR(255) UNIQUE NOT NULL,\n  password VARCHAR(255) NOT NULL\n);\n```\n\n## Contact\n\nIf you have any questions or issues, please open an [issue](https://github.com/aryajava/pos/issues) at the issue tracker\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryajava%2Fpos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryajava%2Fpos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryajava%2Fpos/lists"}