El sistema ha sido desarrollado utilizando un stack tecnológico moderno, robusto y escalable, ideal para aplicaciones web empresariales:
El sistema VetSystem está compuesto por módulos integrados que cubren todas las necesidades operativas de una clínica veterinaria:
Para ejecutar el sistema en una computadora nueva (con Windows), siga estos pasos:
sistema_veterinaria_db.sistema-veterinaria) en su computadora (ej. en C:\Webs\Python\sistema-veterinaria).cd C:\Webs\Python\sistema-veterinariapython -m venv venvvenv\Scripts\activatepip install -r requirements.txt (o instale django, mysqlclient, etc., si no hay requirements).python manage.py makemigrations
python manage.py migrateCada vez que desee encender el sistema para trabajar localmente, siga estos dos sencillos pasos desde el Símbolo del Sistema (CMD) o PowerShell:
cd C:\Webs\Python\sistema-veterinaria
venv\Scripts\activatepython manage.py runserverSi es la primera vez que instala el sistema, debe crear un Superusuario maestro. Con el entorno virtual activado, ejecute:
python manage.py createsuperuser
Siga las instrucciones en la pantalla de la consola: * Username (Usuario): admin * Email: (puede dejarlo en blanco presionando Enter) * Password (Contraseña): admin123 (Nota: al escribir la contraseña en la consola, no se verán los caracteres por seguridad, pero sí se están registrando). * Password (Confirmación): admin123
Utilice estas credenciales en la pantalla de inicio de sesión de la aplicación web.
Para llevar esta aplicación a internet para que funcione 24/7, la recomendación ideal, buscando la mejor relación calidad/precio para aplicaciones en Django, es utilizar un plan VPS (Servidor Privado Virtual) o un servicio PaaS.
Las mejores opciones: 1. DigitalOcean (Droplet) / Linode / Vultr (Recomendado - Mayor control y economía, ~$5 - $10 USD/mes). 2. PythonAnywhere (Excelente para principiantes en Python, muy fácil despliegue, plan básico ~$5 USD/mes). 3. Railway.app / Render (Modernos, sincronización directa con GitHub, cobran por uso).
Para un VPS (como DigitalOcean), la arquitectura estándar de producción es: Gunicorn (Servidor de aplicaciones) + Nginx (Proxy Inverso) + MySQL/PostgreSQL.
Paso 1: Preparar el Servidor
1. Acceda a su VPS mediante SSH: ssh root@ip_del_servidor
2. Actualice los paquetes del servidor: apt update && apt upgrade -y
3. Instale dependencias de sistema: apt install python3-pip python3-venv nginx mysql-server libmysqlclient-dev -y
Paso 2: Configurar la Base de Datos en el Servidor
1. Entre a MySQL: mysql -u root
2. Cree la base de datos y un usuario seguro:
CREATE DATABASE sistema_veterinaria_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'vet_user'@'localhost' IDENTIFIED BY 'TuContraSegura123!';
GRANT ALL PRIVILEGES ON sistema_veterinaria_db.* TO 'vet_user'@'localhost';
FLUSH PRIVILEGES; EXIT;
Paso 3: Subir el Código y Preparar Entorno
1. Transfiera los archivos de su proyecto al servidor (usando FTP/FileZilla, SCP, o clonando desde GitHub). Colóquelo en /var/www/sistema-veterinaria/
2. Navegue al directorio: cd /var/www/sistema-veterinaria
3. Cree y active un entorno virtual: python3 -m venv venv y source venv/bin/activate
4. Instale las librerías de Python e incluya el servidor de producción: pip install -r requirements.txt gunicorn
5. Edite su archivo settings.py para producción:
* Cambie DEBUG = False
* Añada la IP o Dominio del servidor: ALLOWED_HOSTS = ['midominio.com', 'IP_DEL_SERVIDOR']
* Actualice las credenciales en DATABASES para que coincidan con el Paso 2.
6. Ejecute migraciones y recolecte archivos estáticos:
python manage.py migrate
python manage.py collectstatic
Paso 4: Configurar Gunicorn como Servicio del Sistema (Para que nunca se apague)
1. Cree un archivo de servicio: nano /etc/systemd/system/gunicorn.service
2. Pegue esta configuración básica:
```ini
[Unit]
Description=gunicorn daemon
After=network.target
[Service] User=root Group=www-data WorkingDirectory=/var/www/sistema-veterinaria Environment="PATH=/var/www/sistema-veterinaria/venv/bin" ExecStart=/var/www/sistema-veterinaria/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/var/www/sistema-veterinaria/sistema_veterinaria.sock veterinaria.wsgi:application
[Install]
WantedBy=multi-user.target
``
3. Inicie el servicio:systemctl start gunicornysystemctl enable gunicorn`
Paso 5: Configurar Nginx (Para recibir a los usuarios por el puerto 80)
1. Cree un archivo de configuración Nginx: nano /etc/nginx/sites-available/sistema_veterinaria
2. Agregue el siguiente bloque (cambie su_dominio.com):
```nginx
server {
listen 80;
server_name su_dominio.com IP_DEL_SERVIDOR;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/sistema-veterinaria;
}
location /media/ {
root /var/www/sistema-veterinaria;
}
location / {
include proxy_params;
proxy_pass http://unix:/var/www/sistema-veterinaria/sistema_veterinaria.sock;
}
}
``
3. Active el sitio:ln -s /etc/nginx/sites-available/sistema_veterinaria /etc/nginx/sites-enabled4. Reinicie Nginx:systemctl restart nginx`
Paso final: Si va a su navegador y digita la IP de su servidor o su dominio, el sistema VetSystem estará disponible públicamente, de manera robusta y segura.