Carsties Auctions is a comprehensive auction platform designed to facilitate online car auctions. This platform enables users to list their cars for auction, place bids on available cars, and manage auctions with ease. Built with a microservices architecture, it leverages the latest technologies for a robust, scalable, and user-friendly experience.
- User Authentication and Authorization: Secure user registration, login, and access control, ensuring that only authorized users can create auctions and place bids.
- Auction Management: Users can list cars for auction, providing detailed descriptions, images, and auction terms.
- Real-time Bidding: The platform supports real-time bidding, allowing users to see the latest bids instantly.
- Auction Listings and Filters: Users can browse active auctions, applying filters to find cars that meet their criteria.
- Notifications: Real-time notifications inform users about auction updates, bid statuses, and auction outcomes.
Carsties Auctions is built on a microservices architecture, consisting of several key services:
- Auction Service: Manages auction listings, including creation, updates, and deletions.
- Bidding Service: Handles all aspects of placing and managing bids on auctions.
- Identity Service: Responsible for user authentication and authorization.
- Notification Service: Sends real-time notifications to users regarding auction activity.
- Search Service: Provides advanced search functionality for auctions.
- Gateway Service: Acts as a reverse proxy, routing requests to the appropriate services.
- Frontend: React, Next.js, Tailwind CSS for a dynamic and responsive UI.
- Backend: .NET 7 for microservices, Entity Framework Core for ORM, MassTransit with RabbitMQ for messaging, gRPC for inter-service communication.
- Database: PostgreSQL for relational data storage, MongoDB for bid management.
- Deployment: Docker and Docker Compose for containerization and orchestration.
- Docker and Docker Compose
- .NET SDK 7.0
- Node.js and npm
- Clone the repository:
git clone https://github.com/AliShahbazi81/Carsties_Auctions.git
- Navigate to the project directory and start the services using Docker Compose:
docker-compose up --build
- Install frontend dependencies:
cd client/web-app npm install
- Start the frontend application:
npm run dev
The application will be available at http://localhost:3000.
Contributions are welcome! If you'd like to contribute, please fork the repository and create a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.