👨‍🏫 Tutorial Free POS Web System For all small stores, etc

phcodesage

Established
🚀 Meet SwiftPOS: A Free, Self-Hosted POS System Built for Local Shops and Sari-Sari Stores!


Hey everyone! 👋

Running a small shop, market stall, or home business is hard enough without having to pay expensive monthly subscriptions for a Point-of-Sale (POS) system. I originally built SwiftPOS to solve


this exact problem for my own store. It has been running daily to track sales, manage inventory, and audit cashiers. Now, I’m open-sourcing the entire project for free!

Since it runs on a Flask (Python) + SQLite stack, you can host it locally on a laptop or deploy it to a free Vercel server in seconds. There are no ads, no subscriptions, and you own 100% of your

business data.


──────


✨ Why makes SwiftPOS different?





Unlike generic POS systems, SwiftPOS was designed with local Philippine retail workflows in mind. Here’s what makes it special:





📖 Built-In Lending (Utang) Ledger





In small-scale retail, tracking credit is essential. SwiftPOS has a dedicated lending system:





• Add items to a custom checkout cart and assign them to a borrower.


• Track outstanding debt balances directly from a clean dashboard.


• Log partial or full payments, which automatically updates your daily cash flow.


• Stock is deducted immediately, but revenue is only counted once cash changes hands.





🖼️ WordPress-Style Visual Media Manager





Forget copy-pasting image URLs. We built a visual media catalog:





• Drag and drop product images straight from your device.


• Select, swap, and assign photos to products using a visual media grid.


• Manage and permanently delete unused files from a central dashboard.





⚡ Premium Cashier Experience





Web Audio Synthesizer: Enjoy lag-free audio feedback (clicks, cart additions, deletes, and checkouts) generated directly by the browser.


Scroll Preservation: The product catalog grid never resets its scroll position when you select items, keeping cashier workflows incredibly fast.


Flexible Units: Easily sell by pieces (pcs) or by weight (Kg) with quick fractional weight buttons (ex: 0.25kg, 0.50kg, 0.75kg).


Responsive layouts: Includes a slide-out navigation menu for tablet views and a floating cash checkout bar for smartphones.





📊 Performance Analytics & Neon Waveform Graph





• Track Gross Income, Cost of Goods Sold, and Net Profits.


• Filter statistics by Today, Week, Month, or Year.


• View a gorgeous, glowing neon SVG waveform trendline graph of daily sales performance with interactive hover tooltips.


──────


🛠️ The Tech Stack





Backend: Python 3.12+ (Flask, Flask-Login, Flask-SQLAlchemy)


Frontend: Vanilla JS (ES6+), Jinja2 Templates, TailwindCSS, Lucide Icons


Database: SQLite (Relational, self-healing database that auto-creates and seeds itself if missing)


Deployment: Vercel (Production-ready serverless configuration included) or Offline Localhost.


──────


🚀 Quick Start & Installation





1. Clone & Open:


git clone You do not have permission to view the full content of this post. Log in or register now.


cd Swift-Pos





2. Initialize Virtualenv & Install:


python3 -m venv venv


source venv/bin/activate


pip install -r requirements.txt





3. Run Server:


python app.py


Open You do not have permission to view the full content of this post. Log in or register now. in your browser!





🔐 Default Accounts





Username | Password | Role | Access Level


------------------------------------------------|------------------------------------------------|------------------------------------------------|------------------------------------------------


admin | admin123 | Admin | Full system, database, and finance access


cashier | cashier123 | Cashier | Sales register, own shifts, and basic reports





Note: For account recovery, users can reset lost passwords directly from the login screen using the master Store Recovery PIN (default is 9999).


──────


💭 Final Words





I built this because I wanted a POS that was fast, private, and tailored to local stores. If you have a small shop or want to customize your own system, feel free to clone it, modify the code,


and make it your own!





Let me know if you have any questions or feedback! Happy selling! ☕📈1786398996275.webp1786399014728.webp1786399020654.webp1786399035598.webp1786399047181.webp1786399061488.webp1786399071949.webp1786399080754.webp1786399086971.webp1786399094120.webp1786399100019.webp1786399113349.webp1786399135270.webp
 

About this Thread

  • 0
    Replies
  • 22
    Views
  • 1
    Participants
Last reply from:
phcodesage

Trending Topics

Online now

Members online
580
Guests online
4,701
Total visitors
5,281

Forum statistics

Threads
2,304,648
Posts
29,161,184
Members
1,196,932
Latest member
Aiaidz
Back
Top