Go to file
2026-07-16 10:00:34 +05:30
Channel-Backend Feat: Implement S3 object deletion when deleting an asset record 2026-07-16 10:00:34 +05:30
Channel-Frontend Feat: Add client-side dynamic thumbnail generators for DOCX and Spreadsheet assets 2026-07-16 09:58:39 +05:30
minio-seed integrate_minio_seeding_and_docs 2026-07-10 17:47:48 +05:30
.gitignore implement collapsible sidebar and add asset management system with modals and hooks 2026-07-09 18:07:27 +05:30
docker-compose.yml minio_s3_storage 2026-07-09 17:33:28 +05:30
Guide.md complete_foundation 2026-07-09 15:32:31 +05:30
package-lock.json intial commit 2026-07-09 09:31:15 +05:30
package.json intial commit 2026-07-09 09:31:15 +05:30
README.md integrate_minio_seeding_and_docs 2026-07-10 17:47:48 +05:30
run-backend.bat complete_foundation 2026-07-09 15:32:31 +05:30
run-backend.sh integrate_minio_seeding_and_docs 2026-07-10 17:47:48 +05:30
run-frontend.bat complete_foundation 2026-07-09 15:32:31 +05:30
run-frontend.sh update_peacock_branding_logo 2026-07-10 19:01:26 +05:30

Tech4Biz Channel Partner Onboarding & Secure Asset Management

An enterprise-grade, secure, multi-tenant portal designed for onboarding channel partners, managing digital assets, and orchestrating NDA/MSA legal workflows.


🛠️ Technology Stack

  • Frontend: React (Vite, TypeScript, Tailwind CSS, Axios)
  • Backend: Node.js (Express, TypeScript, Prisma ORM, JWT, Helmet)
  • Databases: PostgreSQL (Relational metadata storage)
  • Object Storage: MinIO (Private, S3-compatible asset storage container)

🚀 Quick Start (Development)

Prerequisites

  • Ensure Docker and Node.js are installed and running.
  • The startup scripts automatically detect and terminate any processes occupying backend/frontend ports to prevent crash loops.

Step 1: Start Backend, Database, & Storage

From the project root:

./run-backend.sh

This script will:

  1. Spin up the Postgres and MinIO containers.
  2. Generate environment variables.
  3. Align the database schemas via Prisma.
  4. Run database seeders (Admin/Partner mock accounts).
  5. Automatically seed the MinIO bucket with static documents.
  6. Free port 5000 (if in use) and launch the backend server.

Step 2: Start Frontend App

From the project root:

./run-frontend.sh

This script will resolve dependencies, free port 5173 (if in use), and launch the Vite development server on http://localhost:5173.


📂 MinIO Seeding & Data Transfer

How Asset Seeding Works

To ensure that digital assets (like product guides and NDA templates) are transferred when cloning the repository:

  1. Standard assets are committed to the minio-seed/ directory in the repository root (not ignored by Git).
  2. During server start (via ./run-backend.sh), the backend runs the S3 seeder command:
    npx ts-node src/seed-minio.ts
    
  3. The script initializes the secure-assets bucket in MinIO and uploads any files found in the local /minio-seed/ folder to the bucket, preserving exact filenames, MIME types, and sizes.

Manual Seeding / Restore Command

If you ever reset your MinIO volume and need to re-populate the S3 bucket with the committed repository assets, run the following commands:

cd Channel-Backend
npx ts-node src/seed-minio.ts

🔑 Default Credentials & Admin Ports

Web Interfaces

Login Credentials

System User/ID Password/Secret
Admin Account admin@tech4biz.com Password123
Partner (Approved) active-partner@partner.com Password123
Partner (Pending NDA) pending-onboarding@partner.com Password123
MinIO Console minio_admin minio_password_2026
JWT Secrets Auto-generated in .env super-secret-jwt-key-2026-world-class