Una aplicación de prueba de concepto que combina FastAPI (Python) como backend y React (con Vite) como frontend, lista para desplegar en Vercel.
- Backend: FastAPI con endpoints REST
- Frontend: React + Vite para una interfaz rápida y moderna
- Deploy: Configurado para Vercel con builds automáticos
- Python 3.9+
- Node.js 18+
- npm o yarn
- Crear un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate- Instalar dependencias:
pip install -r requirements.txt- Ejecutar el servidor de desarrollo:
uvicorn api.main:app --reload --port 8000El backend estará disponible en: http://localhost:8000
- Instalar dependencias:
cd frontend
npm install- Ejecutar el servidor de desarrollo:
npm run devEl frontend estará disponible en: http://localhost:5173
- Instalar Vercel CLI:
npm i -g vercel- Desplegar:
vercel- Conecta tu repositorio de GitHub con Vercel
- Vercel detectará automáticamente la configuración desde
vercel.json - El despliegue se hará automáticamente
test-vercel/
├── api/
│ └── main.py # Backend FastAPI
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Componente principal
│ │ ├── App.css # Estilos del componente
│ │ ├── main.jsx # Punto de entrada
│ │ └── index.css # Estilos globales
│ ├── index.html # HTML principal
│ ├── package.json # Dependencias del frontend
│ └── vite.config.js # Configuración de Vite
├── requirements.txt # Dependencias de Python
├── vercel.json # Configuración de Vercel
└── README.md
GET /- Mensaje de bienvenidaGET /api/hello- Obtiene el mensaje "Hola Mundo" con información adicional
- Diseño responsive
- Gradientes modernos
- Efectos de glassmorphism
- Llamadas a la API con manejo de errores
- Estados de carga
- El archivo
vercel.jsonestá configurado para manejar tanto el backend Python como el frontend estático - CORS está habilitado en el backend para permitir peticiones desde el frontend
- En producción, considera restringir los orígenes permitidos en CORS
Las contribuciones son bienvenidas. Por favor, abre un issue o pull request.
Este proyecto es una prueba de concepto para fines educativos.