This is the backend for the Auction Project, built with Spring Boot and MySQL. It handles auction operations, including creating auctions, placing bids, managing product listings, and updating user balances in real-time, and also handles user authentication and authorization, ensuring secure access to the system.
Before setting up and running the backend of the Football Project, ensure that the following software is installed on your system:
-
Java Development Kit (JDK):
- version: 1.8 or higher
- Installation: Download JDK
-
Maven:
- Version: 3.6.3 or higher (used for building and managing the Java project)
- Installation: Download Maven
-
MySQL:
- Version: 5.7 or higher
- Installation: Download MySQL
- Setup: Ensure you have a MySQL server running and create a database named 'auction'
-
Git (optional, for cloning the repository):
- Installation: Download Git
-
IDE (Integrated Development Environment):
- Recommended: IntelliJ IDEA
- installation: Download IntelliJ IDEA
To run the application, you’ll need to set up the following environment variables:
-
DB_URL:
- Description: The URL of the MySQL database
- Example: DB_URL=jdbc:mysql://localhost:3306/auction
-
DB_USERNAME:
- Description: The username for accessing the MySQL database
- Example: DB_USERNAME=root
-
DB_PASSWORD:
- Description: The password for accessing the MySQL database
- Example: DB_PASSWORD=1234
-
JAVA_HOME:
- Description: The path to the JDK installation
- Example: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_251
-
MAVEN_HOME:
- Description: The path to the Maven installation
- Example: MAVEN_HOME=C:\Program Files\Apache\maven
-
Navigate to the project directory : cd /path/to/your/project
-
Run the project using Maven:
- mvn clean install
- mvn spring-boot:run
- User registration and secure login.
- Automatic user balance initialization ($1000 for new users).
- Auction product management (upload, update and view).
- Real-time bidding system.
- Automatic winner determination after auction closure.
- Balance updates for both bidders and sellers after placing bids or closing Auctions.
- For every bid placed in an auction, $2 is deducted from the user's balance.
- The winner of the auction will have an additional 5% of the final bid amount deducted from their balance.
- A seller can close an auction only after a minimum of 3 bids have been placed.
- Admin panel for managing users and products.