Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JewelTrack SaaS

Production-ready multi-tenant SaaS for jewellery shop owners to manage inventory, purchases, sales, customers, suppliers, reports, and QR-based Trade ID scanning.

1) Project Folder Structure

jwellstack/
├── backend/
│   ├── src/main/java/com/jeweltrack/
│   │   ├── controller
│   │   ├── service
│   │   ├── repository
│   │   ├── entity
│   │   ├── dto
│   │   ├── config
│   │   ├── security
│   │   ├── utils
│   │   └── exception
│   ├── src/main/resources/
│   ├── Dockerfile
│   └── pom.xml
├── frontend/
│   ├── src/
│   │   ├── pages
│   │   ├── components
│   │   ├── services
│   │   ├── hooks
│   │   ├── context
│   │   └── layouts
│   ├── Dockerfile
│   └── package.json
├── docs/
│   ├── database-schema.sql
│   └── deployment-guide.md
├── postman/
│   └── JewelTrack.postman_collection.json
├── .env.example
└── docker-compose.yml

2) Tech Stack

  • Backend: Java 17, Spring Boot, Spring Security, JWT, JPA/Hibernate, Swagger
  • Frontend: React + Vite + TailwindCSS + Axios + html5-qrcode
  • Data: PostgreSQL (+ Redis service in compose)
  • DevOps: Docker + Docker Compose

3) Core APIs

  • Auth: /api/auth/signup, /api/auth/login
  • Jewellery: /api/jewellery, /api/jewellery/{tradeId}
  • Customers/Suppliers: /api/customers, /api/suppliers
  • Purchases/Sales: /api/purchases, /api/sales
  • Gold rates: /api/gold-rates
  • Reports: /api/reports/dashboard, /api/reports/sales, /api/reports/inventory

Swagger UI: http://localhost:8080/swagger-ui/index.html

4) Multi-tenant isolation

All business tables include tenant_id. JWT embeds tenantId, and TenantContext applies tenant scoping in services/repositories.

5) QR scanner and trade ID flow

  • Backend generates QR PNG bytes per jewellery item using ZXing.
  • Frontend scan page uses html5-qrcode to capture trade ID and call GET /api/jewellery/{tradeId}.

6) Run locally

docker compose up --build

App URLs:

  • Frontend: http://localhost:5173
  • Backend API: http://localhost:8080

7) Environment variables

See .env.example.

8) Sample test data

  1. Signup owner via API/postman.
  2. Create jewellery item with Trade ID TRD-2026-000001.
  3. Record sale on same trade ID to auto-update status to SOLD.

9) Postman collection

Import postman/JewelTrack.postman_collection.json.

10) Deployment notes

See docs/deployment-guide.md.

About

A complete saas product

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages