Business Legitimacy Verification Platform for Nigerian SMEs
npm install
npm run devServer runs on http://localhost:5000
Create .env file:
PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=veritrade_new_db
JWT_SECRET=your_secret_keyCreate database:
CREATE DATABASE veritrade_new_db;Tables auto-create on first run. 3,500 Nigerian businesses pre-loaded.
Register:
POST /api/auth/register
{
"name": "John Buyer",
"email": "buyer@veritrade.com",
"password": "TestPassword123",
"role": "buyer"
}Login:
POST /api/auth/login
{
"email": "buyer@veritrade.com",
"password": "TestPassword123"
}Save the JWT token from response.
Include Authorization: Bearer {token} in all requests.
POST /api/verifications/submit
{
"business_name": "EcoTech Solutions Ltd",
"registration_number": "RC999988"
}
GET /api/verifications/my-requests
GET /api/verifications/:id
PATCH /api/verifications/:id/cancelInclude Authorization: Bearer {admin_token} in all requests.
GET /api/admin/verifications/pending
GET /api/admin/verifications?status=verified
PATCH /api/admin/verifications/:id/verify
{
"admin_notes": "Business verified successfully"
}
PATCH /api/admin/verifications/:id/reject
{
"admin_notes": "Invalid registration"
}
PATCH /api/admin/verifications/:id/flag
{
"admin_notes": "Needs investigation"
}pending → verified
→ rejected
→ flagged
→ cancelled
Use api-tests.http with VS Code REST Client extension:
- Register buyer & admin
- Login → copy tokens
- Test all endpoints with tokens
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request |
| 401 | No/Invalid Token |
| 403 | Wrong Role |
| 404 | Not Found |
| 500 | Server Error |
- ✅ bcrypt password hashing
- ✅ JWT authentication (24h expiry)
- ✅ Role-based access (buyer/admin)
- ✅ Protected routes
- ✅ SQL injection protection
3 Tables:
users— Buyers & Adminsverification_requests— All submissionssuppliers— 3,500 Nigerian businesses