A modern web application for managing bidding services and offers between companies. The system facilitates the interaction between bidding companies and offer providers in a secure, organized environment.
-
User Authentication & Authorization
- Secure login and registration
- Role-based access control (Bidding companies, Offer companies, Admins)
- Email verification
- Password reset functionality
-
Bidding Management
- Create and manage bids
- Track bid status (pending, won, lost)
- Dashboard with analytics and statistics
-
Offer Management
- Create and publish service offers
- Manage offer status and visibility
- Track offer performance
-
Company Profiles
- Detailed company profiles for both bidding and offer companies
- Service catalogues
- Performance metrics
- Frontend: Next.js 15, React 19, TypeScript, TailwindCSS, DaisyUI
- State Management: Redux Toolkit, React Query
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: JWT (JSON Web Tokens)
- Form Handling: Formik with Yup validation
- Node.js 18.x or later
- MongoDB database
- npm or yarn
-
Clone the repository:
git clone https://github.com/yourusername/bidding-system.git cd bidding-system -
Install dependencies:
npm install # or yarn install -
Create a
.env.localfile in the root directory with the following variables:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret EMAIL_SERVICE=your_email_service EMAIL_USER=your_email_username EMAIL_PASS=your_email_password -
Run the development server:
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser to see the application.
/app: Next.js app directory with routes and API endpoints/components: Reusable UI components/database: MongoDB models and schemas/lib: Utility functions and shared libraries/modules: Business logic modules/providers: Context providers (Redux, etc.)/utils: Helper functions and utilities/@types: TypeScript type definitions
/api/auth/*: Authentication-related endpoints/api/bidding-dashboard/*: Bidding management endpoints/api/user/*: User management endpoints/api/add-bidding/*: Bid creation endpoints
- Fork the repository
- Create your feature branch (
git checkout -b B-[Number of branch]) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin B-[Number of branch]) - Open a Pull Request
This project is licensed under the MIT License - Gaza Sky Geeks 2024 Next.js Course - NextFrontiers Team - see the LICENSE file for details.
- Next.js for the amazing framework
- MongoDB for the flexible database solution
- All contributors who have helped shape this project