- Esta API proporciona funcionalidades para gestionar ubicaciones, categorías y recomendaciones.
- Clona este repositorio.
- Ejecuta
python3 -m pip install virtualenv
- Luego
python3 -m virtualenv env
- Y ahora
source env/bin/activate
- Instala las dependencias con
pip install -r requirements.txt
. - Ejecuta la aplicación con
uvicorn app.main:app --reload
.
Representa una ubicación geográfica con coordenadas de latitud y longitud.
id
(Integer): Identificador único de la ubicación. Clave primaria.latitude
(Float): La latitud de la ubicación.longitude
(Float): La longitud de la ubicación.
{
"id": 1,
"latitude": 40.7128,
"longitude": -74.0060
}
Representa una categoría para ubicaciones, como "restaurante", "hotel", etc.
id
(Integer): Identificador único de la categoría. Clave primaria.name
(String): El nombre de la categoría.
{
"id": 1,
"name": "Restaurante"
}
Representa la asociación entre ubicaciones y categorías, indicando cuándo se revisó por última vez una ubicación para una categoría específica.
id
(Integer): Identificador único de la revisión de ubicación por categoría. Clave primaria.location_id
(Integer): Clave foránea que hace referencia al campo id en la tabla locations.category_id
(Integer): Clave foránea que hace referencia al campo id en la tabla categories.last_reviewed
(Timestamp): Marca de tiempo que indica cuándo se revisó por última vez la ubicación para la categoría.
{
"id": 1,
"location_id": 1,
"category_id": 1,
"last_reviewed": "2024-03-15T10:30:00"
}
-
Crea una nueva ubicación.
- POST /api/locations/
{ "longitude":12312675324431.23, "latitude":8342763123124324.435345 }
Response:
{ "id": 1, "longitude": 12312675324431.23, "latitude": 8342763123124324.435345 }
-
Crea una nueva categoria.
- POST /api/categories/
{ "name": "restaurant" }
Response:
{ "id": 1, "name": "restaurant" }
-
Crea una nueva recomendación.
- POST /api/recommendations/
{ "location_id": 1, "category_id": 1, "last_reviewed": "2024-03-01T12:00:00" }
Response:
{ "location_id": 1, "category_id": 1, "last_reviewed": "2024-03-01T12:00:00" }
- GET /api/recommendations/ Response:
[ { "location_id": 1, "category_id": 1, "last_reviewed": "2024-03-01T12:00:00" }, { "location_id": 2, "category_id": 3, "last_reviewed": "2024-03-15T10:30:00" } ]