Awesome-Pizza is a pizza order management system built using Spring Framework. It allows you to create, read, update and delete pizza orders, as well as retrieve information about pizzas and users.
Awesome-Pizza uses the following tools to work properly:
- Docker: A platform for developers to develop, deploy, and run applications with containers.
- MySQL: A popular open-source relational database management system.
- Spring Framework: An application framework and inversion of control container for the Java platform.
- Maven: A software project management and comprehension tool.
- Springdoc: A java library helps to automate the generation of API documentation using spring boot projects.
To run this project:
git clone https://github.com/jaski1994/awesome-pizza.git
cd awesome-pizza
docker-compose up -d
curl -X GET http://localhost:8080/api/v1/pizza
curl -X POST http://localhost:8080/api/v1/pizza -H 'Content-Type: application/x-www-form-urlencoded' -d 'name=marinara&descrizione=pomodoro, aglio, olio'
curl -X GET http://localhost:8080/api/v1/pizza/1
curl -X PUT http://localhost:8080/api/v1/pizza/1 -H 'Content-type:application/json' -d '{"id":1,"name":"marinara","descrizione":"pomodoro, aglio, origano, olio"}'
curl -X DELETE http://localhost:8080/api/v1/pizza/1
curl -X GET http://localhost:8080/api/v1/users
curl -X POST http://localhost:8080/api/v1/users -H 'Content-Type: application/x-www-form-urlencoded' -d 'name=marco&email=marco@gmail.com'
curl -X GET http://localhost:8080/api/v1/users/1
curl -X PUT http://localhost:8080/api/v1/users/1 -H 'Content-type:application/json' -d '{"id":1,"name":"tio","email":"tioMarco@gmail.com","notification":false}'
curl -X DELETE http://localhost:8080/api/v1/users/1
curl -X GET http://localhost:8080/api/v1/users/1/notification
curl -X GET http://localhost:8080/api/v1/orders
curl -X POST http://localhost:8080/api/v1/orders -H 'Content-Type: application/x-www-form-urlencoded' -d 'name=marco&email=marco@gmail.com'
curl -X GET http://localhost:8080/api/v1/orders/1
curl -X DELETE http://localhost:8080/api/v1/orders/1
curl -X PATCH http://localhost:8080/api/v1/orders/1/make
curl -X PATCH http://localhost:8080/api/v1/orders/1/complete
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
http://localhost:8080/swagger-ui/index.html
http://localhost:8080/api-docs
- Api stylebook: Design Guidelines, Some companies and government agencies share their API Design Guidelines with the community.
- OpenAPI Tooling: A collection of open-source and commercial tools for creating your APIs with OpenAPI.
- OpenAPI Specification: The OpenAPI Specification allows the description of a remote API accessible through HTTP or HTTP-like protocols.
- Spring rest: Spring restapi example.