Backend
- Language: Go 1.21+
- Framework: Chi Router (RESTful API)
- Database: PostgreSQL 12+
- Authentication: JWT (golang-jwt/jwt/v5)
- File Storage:
- Local storage (default)
- AWS S3 (optional, for production)
- Payment Gateway: Razorpay
- Email Service: Resend API (works on free tier) / SMTP fallback
- PDF Processing: pdfcpu
Key Dependencies
github.com/go-chi/chi/v5 - HTTP router
github.com/go-chi/cors - CORS middleware
github.com/jackc/pgx/v5 - PostgreSQL driver
github.com/golang-jwt/jwt/v5 - JWT authentication
github.com/aws/aws-sdk-go-v2 - AWS S3 integration
github.com/pdfcpu/pdfcpu - PDF processing
github.com/joho/godotenv - Environment variable loading
golang.org/x/crypto - Password hashing (bcrypt)
Frontend (Web)
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Maps: Leaflet / React Leaflet
- HTTP Client: Axios
- Mobile: Capacitor (for mobile builds)
Admin Frontend
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Port: 3001 (separate from main frontend)
Mobile Apps
- Framework: Flutter 3.10+
- Language: Dart
Key Packages (Customer App)
http - API communication
shared_preferences - Local storage
flutter_secure_storage - Secure token storage
geolocator - Location services
file_picker - File selection
google_maps_flutter - Maps
razorpay_flutter - Payment integration
crypto - Cryptographic functions
provider - State management
url_launcher - URL launching
flutter_jailbreak_detection - Security/root detection
Key Packages (Shopkeeper App)
http - API communication
shared_preferences - Local storage
flutter_secure_storage - Secure token storage
geolocator - Location services
file_picker - File selection
flutter_map - Maps
pdf - PDF generation
pdf_combiner - PDF merge
path_provider - Temp directories
printing - Printing functionality
crypto - Cryptographic functions
latlong2 - Coordinates utilities
Shopkeeper App – Windows Printing
- SumatraPDF (CLI): Silent PDF printing; copies, duplex, color, paper size via
-print-settings
- LibreOffice Portable (optional): Word/PPT→PDF via
soffice --headless --convert-to pdf
- Converter engine: PDF passthrough, image→PDF (fit to paper), Word/PPT→PDF (LibreOffice)
- Version Control: Git
- Package Managers:
- npm/yarn (Node.js)
- go mod (Go)
- pub (Flutter)
- Build Tools:
- Next.js build system
- Go build
- Flutter build