MCPSERV.CLUB
Open Source Point of Sale

Open Source Point of Sale

Self-Hosted

Web‑based POS with inventory, invoicing and multi‑currency support

Active(90)
3.9kstars
0views
Updated 5 days ago
Open Source Point of Sale screenshot

Overview

Discover what makes Open Source Point of Sale powerful

Open Source POS (OSP) is a fully self‑hosted, web‑based point‑of‑sale platform written in **PHP** and powered by the **CodeIgniter 4** framework. The data layer relies on **MySQL/MariaDB**, while the front end is built with **Bootstrap 3** and customizable via Bootswatch themes. From a developer’s perspective, OSP is designed to be lightweight yet extensible: its core codebase exposes a clean MVC architecture, a robust permissions system, and a set of REST‑style endpoints that can be leveraged by external services or custom plugins.

Inventory & Stock Management

Financial Modules

Transactional Flow

Reporting & Analytics

Overview

Open Source POS (OSP) is a fully self‑hosted, web‑based point‑of‑sale platform written in PHP and powered by the CodeIgniter 4 framework. The data layer relies on MySQL/MariaDB, while the front end is built with Bootstrap 3 and customizable via Bootswatch themes. From a developer’s perspective, OSP is designed to be lightweight yet extensible: its core codebase exposes a clean MVC architecture, a robust permissions system, and a set of REST‑style endpoints that can be leveraged by external services or custom plugins.

Key Features & Core Capabilities

  • Inventory & Stock Management – Items, kits, and an extensible attribute system allow fine‑grained product modeling. Stock levels are updated in real time during sales, receipts, and transfers.
  • Financial Modules – Multi‑tier taxation (VAT/GST), customer deposits, gift cards, and a cash‑up ledger give developers full control over accounting logic. All financial records are persisted in the relational schema and can be queried via SQL or OSP’s query builder.
  • Transactional Flow – The register workflow is implemented as a state machine: quote → sale → receipt. Each transition emits events that can be hooked into custom listeners or webhook endpoints.
  • Reporting & Analytics – Built‑in report generators expose CSV/JSON exports, while the underlying data can be queried directly through the database or via the provided API.
  • Extensibility – OSP ships with a plugin scaffold (app/Plugins) and an event dispatcher. Developers can write PHP modules that register new routes, views, or database migrations without touching the core code.

Architecture & Technical Stack

  • Framework: CodeIgniter 4 – MVC, dependency injection, and a lightweight routing system.
  • Language: PHP 8+ (strict typing enabled) for performance and modern syntax.
  • Database: MySQL 8 / MariaDB 10, accessed through CodeIgniter’s Query Builder or raw PDO.
  • Front End: Bootstrap 3 with optional Bootswatch themes; client‑side logic uses vanilla JS and jQuery for legacy compatibility.
  • Containerization: Docker images are available on the repo’s CI pipeline; a docker-compose.yml can spin up a fully functional stack in minutes.
  • CI/CD: Travis CI builds and tests on every push; artifacts are pushed to Docker Hub for easy deployment.

Deployment & Infrastructure

OSP is intentionally minimalistic: a single LAMP stack or Docker container suffices. It requires PHP extensions such as pdo_mysql, mbstring, and openssl. For production, a reverse proxy (NGINX/Apache) with HTTPS termination is recommended. The application’s configuration lives in app/Config/App.php and environment variables, making it straightforward to adjust database credentials or enable reCAPTCHA.

Scalability is handled at the infrastructure level. Since OSP is stateless apart from session data (stored in database or Redis), horizontal scaling can be achieved by load‑balancing multiple container instances behind a proxy. The event system also allows integration with message queues (RabbitMQ, Redis Streams) for heavy‑lifter operations like bulk reporting or email dispatch.

Integration & Extensibility

  • API: RESTful endpoints for sales, inventory, and user management expose CRUD operations. Authentication uses session cookies; an optional JWT middleware can be added via a plugin.
  • Webhooks: Custom events (sale.completed, inventory.updated) can trigger external HTTP callbacks.
  • Plugins: The plugin directory supports autoloading of serviceProvider classes that can register routes, middleware, or database migrations.
  • Custom Themes: Developers can create new Bootstrap themes and register them in the UI settings.
  • Third‑Party Integrations: Built‑in hooks for MailChimp, SMS gateways, and Google reCAPTCHA illustrate how to plug in external services.

Developer Experience

OSP’s documentation is hosted on the project website and follows a “docs” folder structure. The README provides quick start guides, while deeper architectural diagrams are available in the wiki. Community support is active on Gitter and GitHub Discussions, with a dedicated contribution workflow that includes automated linting and unit tests. Licensing under the MIT license removes barriers to modification, allowing enterprises to adapt the codebase for internal use or contribute back.

Use Cases

  • Retail Chains: A single codebase deployed across multiple stores with shared inventory and centralized reporting.
  • Restaurants: Table‑management features combined with kitchen‑display integration; the event system can push orders to a POS‑to‑kitchen bridge.
  • Subscription Services: Gift cards and recurring billing can be managed via the API, enabling custom subscription dashboards.
  • E‑commerce Backends: The same inventory and sales engine can power an online storefront, with the API serving as a backend for headless commerce.

Advantages

  • Performance: CodeIgniter 4’s lightweight core and PHP 8 optimizations result in sub‑200 ms request times for typical sales transactions.
  • Flexibility: Full source code access and a plugin architecture let developers tailor the system to niche workflows.
  • Open Source Freedom: MIT licensing permits commercial use without royalties, while community contributions keep the feature set evolving.
  • Security: Built‑in reCAPTCHA, GDPR

Open SourceReady to get started?

Join the community and start self-hosting Open Source Point of Sale today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
NOASSERTION
Stars
3.9k
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Dockerfile
Supported OS
LinuxDocker
Author
opensourcepos
opensourcepos
Last Updated
5 days ago