- HTML/CSS/JS.
- Springboot v3.3.2.
- Spring JPA.
- Spring Web.
- Spring Mail.
- Spring Security & OAuth2.
- Lombok.
- Thymeleaf.
- Validation.
- WebSocket.
- Live reload with Tailwindcss.
- Cloudinary.
- VNPay Sandbox.
- Server type: MariaDB.
- Server version: 10.4.22-MariaDB - mariadb.org.
- Server charset: UTF-8 Unicode (utf8mb4).
- SQL file:
database.sql
- Fully responsive with Tailwindcss.
- User interface:
- Login & Regsiter.
- Login with Google.
- View products.
- Search products.
- Place order.
- Track order.
- Admin panel:
- Crud operations.
- Products.
- Accounts.
- Orders.
- Orders tracking.
- Track orders.
- Analytics.
- Import & export tracking.
- Crud operations.
- Database triggers & procedures.
- Nodejs installed.
- Have suitable JDK version.
- Have Maven installed.
- Have a Cloudinary developer account.
- Have a VNPay Merchant account.
- Have an SMPT service.
- Have Google and Github auth credentials setup (if you want to login with Google & Github).
- (optional) Have docker installed to run mail-dev
- Config Spring application.properties. All configurations are inside:
main/resources/application-properties.txt
- Setup MySQL/MariaDB database from
database.sql
.
- Start the Spring Boot application with the local profile.
mvn spring-boot:run
. - Run
npm run build && npm run watch
from the command line. - As a final change to the pom.xml, we can add a profile that calls our production NPM scripts. At release time, be sure to enable this Maven profile.
mvn spring-boot:run -P release
.
- Product page is not very polished.
- No product ratings.
- No phone number verification.
- UI design is not modern.
- Build target:
mvn verify -DskipTests
- Build static files:
npm run build
- Containerize:
docker compose up --build
- Access the application:
http://localhost:8080