A headless e-commerce web application
Read the report »
Table of Contents
This project defines an implementation proposal for a headless e-commerce web application, developed in the Kotlin programming language using the Spring Boot framework. The application leverages an architecture based on four microservices, and features robustness to both logical and physical failures.
Final project for course "Advanced Programming" of the 2nd Level Specializing Master's Programme in "Artificial Intelligence & Cloud: Hands-On Innovation", organized by Polytechnic University of Turin in collaboration with Reply.
This application was built leveraging the following languages and frameworks:
This section provides instructions about how to set up the project locally. To get a local copy up and running please follow the simple steps described below (please note that the provided commands are intended for the Windows platform).
In order to run the installation commands, you need to have Docker installed on your local computer or server. Please refer to the Docker documentation for installation guidance.
- Clone the repository:
git clone https://github.com/bobcorn/ecommerce.git
- Build the
.jarfiles for the microservices:docker-compose -f .\docker-compose-build.yml up --remove-orphans - Deploy the microservices:
docker-compose -p ecommerce -f .\docker-compose.yml up -d --remove-orphans
Since the application is headless and does not provide a client-side rendering of the information, Postman was used as the reference platform for testing the APIs functionality.
A Postman collection was created in order to provide an easy way of invoking
the set of available APIs (see eCommerce-requests.json for more information).
To import the collection into Postman:
-
Click Import and select
eCommerce-requests.json(Postman will automatically recognize the type of file). -
Click Import to bring the collection into Postman.
-
After making sure that all services are up and running, you can execute the APIs defined in the imported collection.
Released under the MIT License (see LICENSE.md for more information).
-
Mattia Michelini
s291551@studenti.polito.it -
Manuel Peli
s291485@studenti.polito.it -
Francesco Piemontese
s291491@studenti.polito.it -
Marco Rossini
s291482@studenti.polito.it
Project link: https://github.com/bobcorn/ecommerce