Aplicación fullstack para gestión de farmacias con:
- Frontend: Vue 3 + Vite
- Backend: Node.js + Express
- Base de datos: MySQL 8.0
- Proxy: Nginx
- Docker 20.10+ (Instalar Docker)
- Docker Compose 2.0+ (Instalar Docker Compose)
- Git 2.30+ (Instalar Git)
git clone --recurse-submodules [email protected]:Th3rick2002/sistema-famacia-san-jose.git
cd sistema-farmacia-san-jose
- Crear archivo
.env
en la raíz del proyecto:
cp .env.example .env
- Editar las variables necesarias:
# Backend
DATABASE=farmacia_san_jose
USERNAME=admin
PASSWORD=password-segura
PORT_APP=3000
JWT_SECRET=clave-secreta-jwt
# Construir imágenes e iniciar contenedores
docker-compose up -d --build
# Detener todos los servicios
docker-compose down
# Ver logs en tiempo real
docker-compose logs -f
# Reconstruir servicios específicos
docker-compose up -d --build backend
# Construir y desplegar
docker-compose -f docker-compose.yml up -d --build
# Forzar recreación de contenedores
docker-compose up -d --force-recreate
sistema-farmacia-san-jose/ (Padre)
├── sistema-de-gestion-de-farmacia---backend/ (Submódulo)
└── sistema-de-gestion-de-farmacia---frontend/ (Submódulo)
# Actualizar proyecto completo
git pull origin main
git submodule update --init --recursive
# Trabajar en backend
cd sistema-de-gestion-de-farmacia---backend
git checkout -b feature/nueva-funcionalidad
# Realizar cambios...
git add .
git commit -m "Descripción de cambios"
git push origin feature/nueva-funcionalidad
# Actualizar referencia en padre
cd ..
git add sistema-de-gestion-de-farmacia---backend
git commit -m "Actualiza backend con nueva funcionalidad"
git push origin main
Servicio | URL de desarrollo | URL de producción |
---|---|---|
Frontend | http://localhost:5173 | http://tudominio.com |
Backend | http://localhost:3000/api | http://api.tudominio.com |
Nginx | http://localhost | http://tudominio.com |
# Ejecutar migraciones manualmente
docker-compose exec backend sh -c "pnpx sequelize-cli db:migrate"
# Ejecutar seeders
docker-compose exec backend sh -c "pnpx sequelize-cli db:seed:all"
# Ver logs de MySQL
docker-compose logs db
# Conectarse a la base de datos
docker-compose exec db mysql -uadmin -p farmacia_san_jose
docker-compose down -v
docker-compose up -d --build
- El backend ejecuta automáticamente migraciones al iniciar
- Para desarrollo frontend, usa:
cd sistema-de-gestion-de-farmacia---frontend npm run dev
- Las variables de entorno deben coincidir en ambos entornos
- Nginx configura las rutas:
/
→ Frontend/api
→ Backend
sistema-farmacia-san-jose/
├── docker-compose.yml
├── docker-compose.override.yml
├── .env.example
├── .env
├── .gitmodules
├── README.md
├── sistema-de-gestion-de-farmacia---backend/
│ ├── src/
│ ├── migrations/
│ ├── seeders/
│ ├── package.json
│ └── Dockerfile
├── sistema-de-gestion-de-farmacia---frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── Dockerfile
└── nginx
└── nginx.conf
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Desarrollado para Farmacia San José