Yoga Image

Yogaardiana

Portfolio
  • Portfolio
  • Articles

Back to Portfolio
LaciPOS — Point of Sale Desktop - Portfolio Banner

LaciPOS — Point of Sale Desktop

Visit WebsiteGitHubYouTube
Laravel 11
Vue 3
Inertia.js
Tailwind CSS
NativePHP Electron
SQLite
DomPDF
Unovis

Video Demo

About This Project

LaciPOS — 小売店・中小企業向けPOSデスクトップアプリ

背景

インドネシアの多くの小売店、飲食店、中小企業のオーナーは、オフラインで動作し、軽量で簡単にセットアップできるPOSシステムを必要としています。しかし、市場に出回っているソリューションの多くは常時インターネット接続や別途データベースサーバーの構築を必要とし、技術に詳しくないユーザーには導入が難しいという課題がありました。そこで開発したのが、技術知識がなくても店舗オーナーがすぐに使える、軽量ながら機能が充実したデスクトップ型レジアプリ「LaciPOS」です。

開発内容

使いやすい認証・オンボーディング機能。 オーナー登録時の自動ログイン、店舗設定用の6ステップセットアップウィザード(店舗名、住所、タイムゾーン、ロゴ、レシートフッター)、そしてセキュリティ質問と10個のワンタイムリカバリーコードによるオフラインパスワード復旧機能を実装しました。

快適に操作できるPOSレジ画面。 リアルタイム検索(300msデバウンス)対応の商品グリッド、カテゴリフィルター、複数階層のバリエーション対応、数量・メモ・商品ごとの割引をその場で編集できるカート、自動お釣り計算付き現金計算機、QRISを含む4種類の決済方法(サブメソッド・MDR対応)をサポートしています。

信頼性の高い取引処理。 チェックアウトはすべてデータベーストランザクションで保護されており、処理途中にエラーが発生しても在庫やデータの整合性が保たれます。レシートはNativePHPの印刷APIを通じて感熱プリンターに直接印刷でき、58mm/80mmサイズのPDFとしても出力可能です。

充実した商品・在庫・割引管理機能。 写真とバリエーション対応の商品CRUD、販売価格と原価から自動算出されるマージン、取引ごとに自動記録される在庫ログ、クォータ・期間・ハッピーアワーに応じて自動有効化される割引機能を用意しました。

すぐに使えるビジネスレポート。 売上、損益、ベストセラー、税務サマリーをPDFまたはCSVで出力でき、別途会計ソフトを使わなくても店舗オーナーが事業のパフォーマンスを把握できます。

データを守るロールベースアクセス制御。 オーナーは全メニューにフルアクセスできる一方、レジ担当者はPOS画面と自分自身の取引履歴のみアクセス可能で、各ルートに設定したロールミドルウェアによって保護されています。

技術的な意思決定

LaciPOSはモダンなモノリシックアーキテクチャを採用しています。バックエンドAPIにはLaravel 11、フロントエンドSPAには別途REST層を必要としないVue 3(Composition API)+ Inertia.js、そしてWindowsデスクトップアプリのパッケージングにはNativePHP Electronをラッパーとして使用しました。データベースには組み込み型のSQLiteを選択しており、ユーザーは別途データベースサーバーをインストール・設定する必要がなく、インストーラーを実行するだけですぐに利用を開始できます。開発期間は1.5ヶ月で、基盤構築(認証・オンボーディング・ロール管理)、コアPOS機能(レジ・取引・商品管理)、レポート/設定/デスクトップビルドの3フェーズに分けて進めました。

技術構成

カテゴリテクノロジー
フレームワークLaravel 11
フロントエンドVue 3 (Composition API) + Inertia.js 3
スタイリングTailwind CSS 3
デスクトップNativePHP Electron
データベースSQLite
PDF生成DomPDF
チャートUnovis
UIコンポーネントshadcn-vue, Reka UI

成果

LaciPOSはMITライセンスのオープンソースプロジェクトとして公開されており、33ページにわたる81の機能を、21のコントローラー、11のモデル、60以上のVueコンポーネントで実現しています。レジから財務レポートまでを網羅したPOSシステムでも、軽量かつオフラインファーストでありながら、技術に詳しくないユーザーでも扱いやすく作れることを証明したプロジェクトです。

🔗 公式サイト: https://www.lacipos.my.id 🔗 ソースコード: https://github.com/yogaarrd/LaciPOS 🎥 デモ動画: https://youtu.be/smipcU3-IMw

Gallery

Back to Portfolio