Este proyecto es un sistema de gestión para el manejo de datos de observatorios, implementando operaciones CRUD y la integración con Elasticsearch para la búsqueda avanzada y eficiente de datos. Además, se incluye la implementación de medidas de seguridad para proteger los recursos del sistema.
- Django: Framework principal para el desarrollo web.
- Django Rest Framework: Para la creación de la API RESTful.
- Elasticsearch: Motor de búsqueda utilizado para indexar y realizar consultas avanzadas sobre los datos.
- Docker: Para contenerizar la aplicación.
- Docker Compose: Para orquestar contenedores y facilitar la configuración de la base de datos y otros servicios.
El proyecto utiliza las siguientes variables de entorno, que deben ser configuradas en el archivo settings.py
o en un archivo .env
:
DJANGO_SECRET_KEY=[clave secreta de Django]
ELASTICSEARCH_HOST=[host de Elasticsearch]
ELASTICSEARCH_PORT=[puerto de Elasticsearch]
DEBUG=[True o False, habilitar/deshabilitar depuración]
- Python 3.x
- Django 3.x+
- Django Rest Framework 3.x+
- Elasticsearch 7.x+
- Docker (opcional, para contenedores)
Clona el repositorio del proyecto:
https://github.com/udistrital/observatorios_crud.git
cd observatorios
Es recomendable crear un entorno virtual para gestionar las dependencias del proyecto.
python3 -m venv venv
source venv/bin/activate # En Windows usa venv\Scripts\ctivate
Instalar las dependencias necesarias utilizando pip
:
pip install -r requirements.txt
Crea un archivo .env
en la raíz del proyecto y agrega las variables de entorno necesarias. También puedes configurarlas directamente en el archivo settings.py
si prefieres no usar un archivo .env
.
Inicia el servidor de desarrollo de Django:
python manage.py runserver
El servidor estará disponible en http://127.0.0.1:8000/
.
Este proyecto es parte de observatorios
.
observatorios_crud
es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal como está publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; incluso sin la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulta la GNU General Public License para más detalles.