This project is a simple e-commerce template for the Proseminar "Software Quality" at the University of Innsbruck. The goal is to provide students a project onto which they can apply different software quality techniques and technologies.
The project gives the web user the possibility to view products, add them to the cart and to check out the order. For ordering a product the user needs to be logged in. An authentication mechanism over session cookies is implemented. The web application should also work on mobile devices and tablets as the UI adapts to the screen dimensions.
Please note that this project is not intended for production use and is only a template for educational purposes. It is therefore intended to be suboptimal in certain areas, such as security, performance and usability to allow students to improve the code base during the semester.
Copyright (C) Harald Victor Schweiger, B.Sc. M.Sc. - All Rights Reserved All information contained herein is, and remains the property of the author. Unauthorized copying, sharing or using this file, via any medium is strictly prohibited unless prior written permission is obtained from the author. Proprietary and confidential. Written by Harald Victor Schweiger harald.schweiger@uibk.ac.at, January 2024
- Backend
- Spring Boot 3.4.2
- Spring Security
- Lombok
- Jakarta Persistence API
- H2 with HikariCP as database
- Middleware & Frontend
- TypeScript
- SvelteKit 2 with Svelte 5 (Runes)
- TailwindCSS
Prerequisites:
- Java 21
- Maven 3.9.9
Build and run the backend with the following commands:
cd backendmvn clean installmvn spring-boot:run
Normally, the IDEA will recognize the pom.xml and provide a run configuration automatically.
Otherwise, you might need to modify your project structure.
The backend is accessible via http://localhost:8080/. You can check if the backend works by calling the rest api for the top products.
The H2 database is accessible via http://localhost:8080/h2-console.
The JDBC URL is jdbc:h2:mem:eshopdb and the username is sa with password password as defined in application.properties.
Prerequisites:
- NodeJS v22.14.0
- npm 10.9.2
The frontend and middleware can be installed and run with the following commands:
cd frontendnpm installnpm run dev
It is advisable to open package.json as IDEA will recognize the vite commands and provide a run configuration.
The project uses vite as a bundler, which enables hot module replacement and fast builds. This means you can work on the frontend and see the changes in the browser without having to reload the page.
The application is accessible via http://localhost:5173/. You can check out the about page, as this is one of the view pages that do not require the backend to be running.