A comprehensive Strapi-based platform for managing Request for Quotations (RFQs) between buyers and vendors, with Saudi Arabian compliance features.
- Users: Extended Strapi user authentication system
- Buyers: Comprehensive buyer profiles with company information
- Vendors: Detailed vendor profiles with specialties and ratings
- RFQs: Request for Quotation management with categories and keywords
- Bids: Vendor bid submissions with proposals and pricing
- Buyer Role: Can create RFQs, view bids, award contracts
- Vendor Role: Can submit bids, view RFQs, manage proposals
- Admin Role: Full CRUD access to all data
- Email-based registration with role assignment
- ✅ RFQ creation and validation
- ✅ Bid submission and management
- ✅ Award process implementation
- ✅ File upload support for documents
- ✅ Status tracking (draft, published, closed, awarded)
- ✅ Universal RFQ URLs:
/rfq/{id}/{title} - ✅ User profile URLs:
/profile/{id} - ✅ Main navigation with categories dropdown
- ✅ User authentication modals
- ✅ Responsive design
- ✅ VAT Number validation (15 digits starting with '3')
- ✅ Commercial Registration validation (10 digits)
- ✅ National Address validation (8 digits)
- ✅ Support for additional numbers (AVL, NWC, SE, MODON)
src/
├── api/
│ ├── buyer/ # Buyer content type
│ ├── vendor/ # Vendor content type
│ ├── rfq/ # RFQ content type
│ └── bid/ # Bid content type
├── policies/ # Custom access policies
│ ├── is-buyer.ts
│ ├── is-vendor.ts
│ └── is-owner-or-admin.ts
└── extensions/ # Strapi extensions
public/
├── index.html # Main landing page
├── assets/
│ ├── css/main.css # Platform styles
│ └── js/main.js # JavaScript functionality
└── favicon.png
config/
├── plugins.ts # Plugin configurations
├── middlewares.ts # Middleware stack
└── database.ts # Database configuration
-
Install dependencies:
npm install
-
Start development server:
npm run develop
-
Access the application:
- Admin Panel:
http://localhost:1337/admin - Frontend:
http://localhost:1337 - API:
http://localhost:1337/api
- Admin Panel:
POST /api/auth/register- User registrationPOST /api/auth/local- User loginGET /api/users/me- Get current user
GET /api/buyers- List buyersPOST /api/buyers- Create buyer profileGET /api/buyers/:id- Get buyer details
GET /api/vendors- List vendorsPOST /api/vendors- Create vendor profileGET /api/vendors/:id- Get vendor details
GET /api/rfqs- List RFQsPOST /api/rfqs- Create RFQ (buyers only)GET /api/rfqs/:id- Get RFQ detailsPOST /api/rfqs/:id/award- Award RFQ to vendor
GET /api/bids- List bidsPOST /api/bids- Submit bid (vendors only)GET /api/bids/:id- Get bid details
- Buyers: Can create RFQs, cannot submit bids
- Vendors: Can submit bids, cannot create RFQs
- Admins: Full access to all resources
- Email verification for registration
- Saudi compliance number validation
- File upload restrictions and validation
- Comprehensive content types for all platform entities
- Relationships between buyers, vendors, RFQs, and bids
- Rich text support for descriptions and proposals
- File attachment capabilities
- Role-based authentication system
- Profile management for buyers and vendors
- Saudi Arabian business registration validation
- Email-based registration workflow
- Complete RFQ lifecycle management
- Bid submission and evaluation process
- Award mechanism for selecting vendors
- Status tracking throughout the process
- Responsive web design
- Modern UI with navigation system
- Authentication modals
- Real-time statistics display
- Dashboard development
- Advanced search functionality
- Internal communication system
- Favorites and dispute systems
- Enhanced admin dashboard
- WebSocket notifications
- Performance optimization
- Security review
Start your Strapi application with autoReload enabled.
npm run develop
Build your admin panel.
npm run build
Start your Strapi application with autoReload disabled.
npm run start
Built with Strapi v5.23.1 | Saudi Arabian Business Compliance Ready