Euphoria E-commerce is a comprehensive e-commerce platform designed to provide a seamless online shopping experience. The platform includes user authentication, product management, a shopping cart, order management, and payment integration using Stripe. Built with Java, Spring Boot, and PostgreSQL, it leverages Docker and Docker Compose for containerization.
- Product Management: CRUD operations for products, including attributes like name, size, color, category, and pricing. Multi-currency support and price management over time.
- User Management: User registration with email verification, secure authentication with JWT, and password recovery.
- Shopping Cart: Manage product selection and quantities, with the ability to add or remove items.
- Order Management: Full lifecycle management including order creation, tracking, and history.
- Payment Integration: Integrated with Stripe for handling payments.
- Java 17 or later
- Maven 3.6 or later
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/nihadamirov/Euphoria_Ecommerce.git
-
Navigate to the project directory:
cd Euphoria_Ecommerce
-
Build the project using Maven:
mvn clean install
-
Start the application using Docker Compose:
docker-compose up
Update the application.properties
file with your database and Stripe credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/euphoria
spring.datasource.username=your_db_username
spring.datasource.password=your_db_password
stripe.api.key=your_stripe_secret_key
jwt.SECRET_KEY=your_secret_key
- Open your browser and navigate to
http://localhost:8080
to access the application. - Register a new user and verify the email.
- Log in and start exploring the product catalog.
- Add products to your cart and proceed to checkout to complete a purchase.
Run unit and integration tests using Maven:
mvn test
For more detailed test coverage and results, check the target/site
directory.