Skip to main content

Tech Stack

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)

Development Tools

  • Version Control: Git
  • Package Managers:
    • npm/yarn (Node.js)
    • go mod (Go)
    • pub (Flutter)
  • Build Tools:
    • Next.js build system
    • Go build
    • Flutter build