Margins Pro adalah platform SaaS profesional yang membantu pengusaha kuliner (UMKM) menghitung HPP (Harga Pokok Penjualan), mensimulasikan profit margin di aplikasi pesan antar (GoFood, GrabFood, ShopeeFood), dan mencegah kerugian ("boncos") akibat salah penetapan harga.
Built with performance and developer experience in mind.
Project ini dibangun ulang dari Single Page Application menjadi Fullstack Application dengan teknologi bleeding-edge untuk kecepatan dan efisiensi biaya (Serverless-ready).
- Runtime: Bun (Ultra-fast JavaScript Runtime) v1.x
- Frontend: React 19 + Vite
- Backend: Hono (Standard Web Framework)
- Database: Turso (LibSQL - Edge SQLite)
- ORM: Drizzle ORM
- Styling: TailwindCSS + Lucide Icons (Premium Design System)
- Bundler: tsdown (Rust-powered Backend Bundler)
- AI: Google Gemini Flash 2.0 (via Vercel AI SDK compatible logic)
- Hybrid Architecture: Aplikasi berjalan sebagai SPA super-cepat, namun memiliki backend Hono yang menangani SEO Injection (SSR-lite) dan API logic.
- Type-Safe RPC: Frontend memanggil backend tanpa fetch manual. Kita menggunakan
Hono RPCsehingga tipe data antara Client dan Server terhubung otomatis (Intellisense di VS Code jalan 100%). - Local & Cloud Sync: Data disimpan di
LocalStorageuntuk pengalaman instant (Optimistic UI) dan disinkronkan ke Database Turso di background. - Server-Side SEO: Meta tags di-inject di sisi server sebelum dikirim ke browser, memastikan link preview muncul di WhatsApp/Twitter.
Pastikan Anda sudah menginstall Bun. Jika belum:
curl -fsSL https://bun.sh/install | bashgit clone https://github.com/username/margins-pro.git
cd margins-pro
bun installCopy file .env.example menjadi .env dan isi kredensial yang dibutuhkan.
cp .env.example .envIsi kredensial:
TURSO_DATABASE_URL&TURSO_AUTH_TOKEN: Buat database baru di Turso.tech.GEMINI_API_KEY: Dapatkan dari Google AI Studio.
Push schema Drizzle ke Turso DB Anda.
bun drizzle-kit pushPerintah ini akan menjalankan Vite (Frontend port 5173) dan Hono (Backend port 8000) secara bersamaan.
bun run devBuka browser di http://localhost:5173.
Sebelum melakukan commit, pastikan kode aman dari error:
# Validasi Code Style (Lint), Type Check, dan Build Test
bun run validate
# Jalankan End-to-End Testing (Playwright)
bun run testmargins-pro/
├── api/ # Vercel Serverless Entry point
├── dist/ # Production Build Artifacts (Client & Server)
├── docs/ # 📘 Documentation (Mental Model, Architecture)
├── drizzle/ # Drizzle Migration Files
├── src/
│ ├── client/ # 🎨 Frontend Source
│ │ ├── components/ # UI Components
│ │ ├── hooks/ # Business Logic (useProjects)
│ │ └── routes/ # App Pages
│ ├── server/ # ⚙️ Backend Source
│ │ ├── db/ # Schema & Logic
│ │ └── routes/ # API Endpoints
│ └── shared/ # Shared Types
├── tests/ # End-to-End Tests & Reports
├── App.tsx # Main Frontend Entry
├── index.html # Entry HTML
└── vercel.json # Deployment Config
- Architecture Guide: Blueprint teknis dan struktur folder.
- Mental Model & Glossary: Kamus istilah dan konsep fundamental.
© Copyright 2025 sandikodev. All Rights Reserved.
Project ini dikelola penuh oleh PT Koneksi Jaringan Indonesia sebagai produk SaaS Komersial.
Source code ini dipublikasikan HANYA untuk tujuan transparansi teknis dan portofolio development.
- DILARANG KERAS melakukan forking, menduplikasi, memodifikasi, atau mendistribusikan ulang source code ini dalam bentuk apapun tanpa izin tertulis.
- DILARANG KERAS menggunakan sebagian atau seluruh kode ini untuk kepentingan komersial, bisnis, atau produk saingan.
- Segala bentuk pelanggaran hak cipta akan diproses secara hukum sesuai dengan Undang-Undang Hak Cipta dan regulasi perlindungan kekayaan intelektual yang berlaku di Republik Indonesia.
Pelanggaran akan dikenakan sanksi pidana dan tuntutan perdata. Kami memantau penggunaan repositori ini secara aktif.