A small e-commerce / game store web application built with Spring Boot, Thymeleaf and Spring Security. It was one of my first full web projects and has since been modernized so it runs out of the box with zero setup — no database to install.
- 🛍️ Storefront — product catalog with images, prices and "add to cart"
- 🛒 Shopping cart & checkout — build an order and place it as a logged-in customer
- 👤 Customer accounts — registration and login (
/loginCliente) - 🔐 Role-based back office — separate login (
/login) for staff:administrador— manage users and the whole back officeestoquista— manage products and orders (stock)
- 🖼️ Server-side rendering with Thymeleaf + a shared layout fragment
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot 2.7, Spring Security |
| View | Thymeleaf, Thymeleaf Layout Dialect, Bootstrap |
| Data | JDBC, H2 (in-memory) — originally MySQL |
| Build | Maven |
No database setup required — the app uses an in-memory H2 database that is created and seeded automatically on every start.
./mvnw spring-boot:runThen open http://localhost:8080
The H2 console is available at http://localhost:8080/h2-console
(JDBC URL jdbc:h2:mem:lojavirtual, user sa, no password).
Seeded automatically on first run:
| Role | URL | Username | Password |
|---|---|---|---|
| Administrator | /login |
admin |
admin123 |
| Stock keeper | /login |
estoque |
estoque123 |
| Customer | /loginCliente |
cliente |
cliente123 |
This project started in 2021 as a learning exercise. It was later restored and modernized: upgraded to Spring Boot 2.7 on Java 17, switched from a manually configured MySQL connection to a zero-setup in-memory H2 database with an automatic schema and seed data, and product images are now served from the application's own resources.