- Flask 3.0.3
- Email Validator 2.1.1
- Python 3.11
- Docker
- Run
docker compose up --build
- API listening to
http://localhost:8000
POST /users
: Create a new user.GET /users
: Retrieve a list of all users.GET /users/{user_id}
: Retrieve details of a specific user.PUT /users/{user_id}
: Update an existing user.DELETE /users/{user_id}
: Delete a user.
GET /countries
: Retrieve all pre-loaded countries.GET /countries/{country_code}
: Retrieve details of a specific country by its code.GET /countries/{country_code}/cities
: Retrieve all cities belonging to a specific country.POST /cities
: Create a new city.GET /cities
: Retrieve all cities.GET /cities/{city_id}
: Retrieve details of a specific city.PUT /cities/{city_id}
: Update an existing city’s information.DELETE /cities/{city_id}
: Delete a specific city.
POST /amenities
: Create a new amenity.GET /amenities
: Retrieve a list of all amenities.GET /amenities/{amenity_id}
: Retrieve detailed information about a specific amenity.PUT /amenities/{amenity_id}
: Update an existing amenity’s information.DELETE /amenities/{amenity_id}
: Delete a specific amenity.
POST /places
: Create a new place.GET /places
: Retrieve a list of all places.GET /places/{place_id}
: Retrieve detailed information about a specific place.PUT /places/{place_id}
: Update an existing place’s information.DELETE /places/{place_id}
: Delete a specific place.
POST /places/{place_id}/reviews
: Create a new review for a specified place.GET /users/{user_id}/reviews
: Retrieve all reviews written by a specific user.GET /places/{place_id}/reviews
: Retrieve all reviews for a specific place.GET /reviews/{review_id}
: Retrieve detailed information about a specific review.PUT /reviews/{review_id}
: Update an existing review.DELETE /reviews/{review_id}
: Delete a specific review.