A revolutionary technology aimed to digitise the hassle of tenders through analog means.
SBP achieves this using a secure smart contract based backend, and an AI validation model which comprehensively checks for compliance of a Certain tender, and regulations to be followed.
Built using Next.js and Rocket(Rust)
- Next.js 16 - React framework with App Router
- shadcn/ui - Beautiful, accessible UI components
- Tailwind CSS - Utility-first CSS framework
- TypeScript - Type-safe development
- Rocket (Rust) - Fast, secure web framework
- MongoDB - NoSQL database for flexible data storage
- JWT Authentication - Secure token-based auth
- bcrypt - Password hashing
smartbidpro/
├── app/ # Next.js pages
│ ├── login/ # Login page
│ ├── dashboard/ # Dashboard page
│ └── page.tsx # Home page (redirects)
├── components/ui/ # shadcn/ui components
│ ├── button.tsx
│ ├── card.tsx
│ └── input.tsx
├── lib/ # Utility functions
│ └── utils.ts
├── backend/ # Rust backend
│ ├── src/
│ │ ├── main.rs # Entry point
│ │ ├── auth.rs # JWT authentication
│ │ ├── db.rs # MongoDB connection
│ │ ├── models.rs # Data models
│ │ └── routes/ # API endpoints
│ │ ├── auth.rs # Auth routes
│ │ └── auctions.rs # Auction CRUD
│ └── Cargo.toml # Rust dependencies
└── package.json # Node dependencies
- Node.js 20+ installed
- Rust toolchain installed
- MongoDB running locally or connection URI
- Navigate to the backend directory:
cd backend- Create a
.envfile with your configuration:
MONGODB_URI=mongodb://localhost:27017/smartbidpro
JWT_SECRET=your-secret-key-change-this-in-production
ROCKET_PORT=8000
ROCKET_ADDRESS=0.0.0.0- Build and run the backend:
cargo build
cargo runThe Rocket server will start on http://localhost:8000
z
- Navigate to the project root:
cd ..- Install dependencies:
npm install- Run the development server:
npm run devThe Next.js app will start on http://localhost:3000
To make changes:
- Backend: Edit files in
backend/src/, rebuild withcargo build - Frontend: Edit files in
app/orcomponents/, changes hot-reload automatically - Populating Users: Run /scripts/create-test-user.js using node to seed users into your database