- Introducción
- Acerca de GraphQL
- Requisitos Previos
- Instrucciones de Instalación
- Uso de la Aplicación
- Recursos Educativos
SendaAlquiler es una aplicación web desarrollada con el framework Django, basado en el lenguaje de programación Python. Para la gestión y consulta de datos, se ha implementado GraphQL en lugar del convencional REST.
GraphQL es un lenguaje de consulta para APIs, que se ejecuta en el servidor. A diferencia de REST, GraphQL permite interactuar con un único endpoint, permitiendo al cliente especificar los datos que desea recibir. Esto resulta en consultas más eficientes y flexibles.
Para la implementación de GraphQL en el contexto de Django, se ha optado por el uso de Graphene-Django, que facilita la creación de esquemas GraphQL utilizando modelos de Django.
-
Python: Lenguaje de programación en el que se basa Django. Importante usar una versión menor a 3.12 para compatibilidad con Django 4.1.1 Descargar Python Al instalar Python, se instalará automáticamente
pip
, el gestor de paquetes de Python. -
virtualenv: Herramienta para crear entornos virtuales en Python. Para instalarlo:
pip install virtualenv
-
wkhtmltopdf: Herramienta para generar archivos PDF a partir de HTML. Descargar wkhtmltopdf
python -m venv venv
.\venv\Scripts\activate
El prefijo (venv)
en la terminal indica que el entorno virtual ha sido activado.
Con el entorno virtual activo:
pip install -r requirements.txt
Para el funcionamiento de la aplicación debes crear un archivo llamado ".env" en este mismo directorio. Puedes basarte en el archivo de ejemplo .env.example.
Django utiliza un sistema de migraciones para gestionar cambios en la base de datos. Antes de correr el proyecto, necesitas aplicar estas migraciones:
python manage.py migrate
python manage.py runserver
El servidor se iniciará en http://127.0.0.1:8000/
.
Con el servidor en ejecución, se puede acceder a la interfaz de GraphQL a través de http://127.0.0.1:8000/graphql
.
A continuación, se presentan varios recursos que pueden ser de utilidad para comprender mejor las tecnologías implementadas:
- Documentación Oficial de Django Consultar Documentación
-
Comparativa entre GraphQL y REST Leer Artículo
-
Herramienta Interactiva de GraphQL Acceder a la Herramienta
- Documentación Oficial de Graphene-Django Consultar Documentación