Skip to content

GSG-Next-JS-Training/Bidding-System

Repository files navigation

Bidding System

Next.js React MongoDB TypeScript License

Bidding System

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.

Table of Contents

Features

  • 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

Tech Stack

  • 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

Prerequisites

  • Node.js 18.x or later
  • MongoDB database
  • npm or yarn

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/bidding-system.git
    cd bidding-system
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Create a .env.local file 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
    
  4. Run the development server:

    npm run dev
    # or
    yarn dev
  5. Open http://localhost:3000 in your browser to see the application.

Project Structure

  • /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 Routes

  • /api/auth/*: Authentication-related endpoints
  • /api/bidding-dashboard/*: Bidding management endpoints
  • /api/user/*: User management endpoints
  • /api/add-bidding/*: Bid creation endpoints

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b B-[Number of branch])
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin B-[Number of branch])
  5. Open a Pull Request

License

This project is licensed under the MIT License - Gaza Sky Geeks 2024 Next.js Course - NextFrontiers Team - see the LICENSE file for details.

Acknowledgments

  • Next.js for the amazing framework
  • MongoDB for the flexible database solution
  • All contributors who have helped shape this project

Business Meeting

Built with ❤️ by NextFrontiers Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors