Overview
Iquea Commerce follows a decoupled client-server architecture:- Backend: Spring Boot 3.4.0 REST API (Java 21)
- Frontend: React 19 SPA with Vite 7 (TypeScript)
- Database: MySQL 8.0+ for data persistence
Installation Steps
Clone the Repository
Clone the Iquea Commerce repository to your local machine:The project structure should look like this:
Set Up MySQL Database
Connect to your MySQL server and create the application database:Verify database creation:Grant permissions (if using a non-root user):
The application is configured with
createDatabaseIfNotExist=true, so the database will be created automatically if it doesn’t exist. However, manual creation ensures proper character encoding.Install Backend Dependencies
Navigate to the backend directory:The project uses Maven Wrapper, so dependencies will be downloaded automatically on first run. To manually download dependencies:On Windows:On Linux/macOS:This will:
- Download all Maven dependencies
- Compile the Java code
- Generate MapStruct mappers and Lombok code
- Package the application (without running tests)
First-time execution may take 5-10 minutes as Maven downloads all dependencies. Subsequent builds will be much faster.
Install Frontend Dependencies
Navigate to the frontend directory:Install Node.js dependencies using npm:This will install:
- React 19.2.0 and React DOM
- React Router DOM 7.13.0
- Vite 7.3.1 (build tool)
- TypeScript 5.9.3
- Additional UI libraries (react-icons, jwt-decode)
The installation typically takes 2-3 minutes depending on your internet connection.
Troubleshooting
Backend Installation Issues
Problem: “Java version not compatible”JAVA_HOME environment variable:
Problem: “Cannot resolve dependencies” Solution: Clear Maven cache and retry:
Frontend Installation Issues
Problem: “npm ERR! peer dependencies” Solution: Use--legacy-peer-deps flag:
Problem: “Node version too low” Solution: Upgrade Node.js to version 18 or higher. Use nvm for version management:
Database Installation Issues
Problem: “Access denied for user ‘root’@‘localhost’” Solution: Reset MySQL root password:What’s Installed?
Backend Dependencies
- Spring Boot 3.4.0 - Application framework
- Spring Security - Authentication and authorization
- Spring Data JPA - Database abstraction layer
- Hibernate - ORM framework
- MySQL Connector - JDBC driver
- JWT (0.12.6) - JSON Web Token authentication
- MapStruct 1.6.0 - Entity-to-DTO mapping
- Lombok 1.18.38 - Boilerplate code reduction
Frontend Dependencies
- React 19.2.0 - UI library
- React Router DOM 7.13.0 - Client-side routing
- Vite 7.3.1 - Build tool and dev server
- TypeScript 5.9.3 - Type-safe JavaScript
- jwt-decode 4.0.0 - JWT parsing
- react-icons 5.5.0 - Icon library