API REST para el portafolio personal, desarrollada con Django REST Framework y conectada a una base de datos SQL Server en Somee.
- Python 3.8+
- Docker (opcional, para despliegue)
- ODBC Driver 17 for SQL Server
-
Clonar el repositorio:
git clone <url-del-repositorio> cd API-Portafolio
-
Crear y activar un entorno virtual:
python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate
-
Instalar dependencias:
pip install -r requirements.txt
-
Configurar variables de entorno:
- Crear un archivo
.enven la raíz del proyecto con el siguiente contenido:SOMEE_CONNECTION_STRING=workstation id=portafolio.mssql.somee.com;packet size=4096;user id=usuario;pwd=contraseña;data source=portafolio.mssql.somee.com;persist security info=False;initial catalog=portafolio;TrustServerCertificate=True - Reemplazar
usuarioycontraseñacon tus credenciales de Somee.
- Crear un archivo
Por defecto, la aplicación usará SQLite en desarrollo. No se requiere configuración adicional.
- Asegúrate de tener instalado el ODBC Driver 17 for SQL Server.
- Configura la variable de entorno
SOMEE_CONNECTION_STRINGcon tu cadena de conexión de Somee. - La aplicación detectará automáticamente el entorno y usará la configuración apropiada.
python check_db.pypython manage.py runserver- Crear una nueva aplicación web en Render
- Conectar el repositorio de GitHub
- Configurar las variables de entorno en el panel de Render:
SOMEE_CONNECTION_STRING: Tu cadena de conexión de SomeePYTHON_VERSION: 3.8.0 o superiorDISABLE_COLLECTSTATIC: 1
- Configurar el comando de inicio:
./startup.sh - Desplegar la aplicación
API-Portafolio/
├── api/ # Aplicación principal de la API
│ ├── migrations/ # Migraciones de la base de datos
│ ├── __init__.py
│ ├── admin.py # Configuración del admin de Django
│ ├── apps.py # Configuración de la aplicación
│ ├── models.py # Modelos de la base de datos
│ ├── serializers.py # Serializadores de la API
│ ├── tests.py # Pruebas unitarias
│ └── views.py # Vistas de la API
├── core/ # Configuración principal del proyecto
│ ├── __init__.py
│ ├── asgi.py # Configuración ASGI
│ ├── settings.py # Configuración de Django
│ ├── urls.py # URLs principales
│ └── wsgi.py # Configuración WSGI
├── static/ # Archivos estáticos
├── .env.example # Ejemplo de archivo .env
├── .gitignore # Archivos ignorados por Git
├── Dockerfile # Configuración de Docker
├── manage.py # Script de gestión de Django
├── requirements.txt # Dependencias de Python
└── startup.sh # Script de inicio para producción
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.