Enterprise-grade Product Authenticity Verification, Supply Chain Traceability, and Verified Marketplace
VeriChain is a full-stack Web Application that helps manufacturers, sellers, buyers, moderators, and administrators verify product authenticity, manage supply chains, and combat counterfeit goods.
- 🔐 JWT Authentication
- 🏭 Manufacturer Dashboard (Product template registration & batch generation)
- 🛒 Verified Marketplace (Listing, purchase, and ownership transfer)
- 📦 Supply Chain Tracking (Comprehensive tracking history for every item)
- 📱 Serial Number Verification (Public lookup page)
- 🛡️ Separate Moderator Control Center (Review disputes, verify manufacturers, manage flagged listings)
- 📊 Admin Control Center (Audit logs, invite admins/moderators, manage user statuses)
| Role | Responsibilities |
|---|---|
| Buyer | Verify authenticity, buy items, file disputes/complaints |
| Seller | Accept items, list items on marketplace |
| Factory | Create product templates, generate item batches |
| Moderator | Verify product templates, resolve complaints, flag risky items |
| Admin | Verification of factories, invite system roles, view audit logs |
- React (v19)
- TypeScript
- Vite
- Axios
- Lucide React (Icons)
- Vitest & React Testing Library (Unit & Integration Testing)
- Node.js & Express
- Mongoose (MongoDB ODM)
- TypeScript
- JWT & Bcryptjs (Authentication & Cryptography)
- Multer (File upload handler)
- Jest & Supertest (Integration Testing)
VeriChain product authenticity webapp
├── frontend
│ ├── src
│ │ ├── api
│ │ ├── assets
│ │ ├── components
│ │ ├── context
│ │ ├── pages
│ │ └── tests
│ ├── public
│ ├── index.html
│ ├── vite.config.ts
│ └── package.json
├── backend
│ ├── src
│ │ ├── config
│ │ ├── middleware
│ │ ├── models
│ │ ├── routes
│ │ └── tests
│ └── package.json
└── README.md
git clone https://github.com/10bitsofwalid/VeriChain-Authentication-WebApp.git
cd "VeriChain product authenticity webapp"Create a .env file inside the backend folder:
PORT=5000
MONGO_URI=mongodb:
JWT_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET= Create a .env file inside the frontend folder:
VITE_API_URL=http://localhost:5000/apicd backend
npm install
npm run devThe backend server will run on http://localhost:5000.
cd frontend
npm install
npm run devThe frontend application will start on http://localhost:5173.
To run the Jest/Supertest backend suite:
cd backend
npm testTo run the Vitest/React Testing Library suite:
cd frontend
npm testDistributed under the MIT License.
Walid Rahman
- GitHub: https://github.com/10bitsofwalid
- Portfolio: https://walid-rahman-portfolio.vercel.app
- LinkedIn: https://www.linkedin.com/in/mohammad-walid-rahman