Skip to content

Latest commit

 

History

History
61 lines (57 loc) · 1.84 KB

README.md

File metadata and controls

61 lines (57 loc) · 1.84 KB

Parking Control

This simple REST API handles condos' park spots. It's an open-source Spring Boot project slightly different from the original one made by @Michelli Brito on her course.

To set up and run the server, you need to create a MySQL database, add a file /src/main/resources/application.properties which the following content, and grant permissions to the MySQL user as well. Don't forget to replace fields like database name, username, and password.

spring.jpa.hibernate.ddl-auto=update    
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/{database name}
spring.datasource.username={user name}    
spring.datasource.password={user password}    
spring.datasource.driver-class-name =com.mysql.jdbc.Driver    

Now, go to the root project and run the command below to download a specific version of Gradle locally.

gradle wrapper

Then, run this Gradle task:

./gradlew bootRun

REST API Methods

You might want to access the endpoints using the following cURL commands.

GET

curl http://localhost:8080/parking-spot
curl http://localhost:8080/parking-spot/{id}

POST

curl -X POST -H "Content-Type: application/json" \
    -d '{
	 "carPlate": "SXD-7621",
	 "carOwner": "Taffarel",
	 "carColor": "Black",
	 "carBrand": "BMW",
	 "apartmentNumber": "23",
	 "apartmentBlock": "1",
	 "parkingSpotNumber": "2"
	}' \
     http://localhost:8080/parking-spot

UPDATE

curl -X PUT -H "Content-Type: application/json" \
    -d '{
	 "carPlate": "XYZ-8791",
	 "carOwner": "Tardelli",
	 "carColor": "Silver",
	 "carBrand": "Mercedes",
	 "apartmentNumber": "13",
	 "apartmentBlock": "2",
	 "parkingSpotNumber": "35"
	}' \
http://localhost:8080/parking-spot/{id}

DELETE

curl -X DELETE http://localhost:8080/parking-spot/{id}