Una versión tortuga del sobrero seleccionador para saber a que facultad y a que carrera eres mas posible de pertenecer.
- Framework: FastAPI (Python)
- IA: Google Gemini para análisis de imágenes
- Audio: Whisper para procesamiento de audio
- Estructura: API REST modular
- Framework: React + TypeScript
- 3D Engine: React Three Fiber
- Utilidades 3D: Drei
- Build Tool: Vite
- Styling: CSS/Styled Components
Turtlector/
├── backend/
│ ├── app/
│ │ ├── config/ # Configuraciones
│ │ ├── models/ # Modelos de datos
│ │ ├── routers/ # Endpoints de API
│ │ ├── services/ # Lógica de negocio
│ │ └── main.py # Punto de entrada
│ ├── uploads/ # Archivos subidos
│ └── .env.example # Variables de entorno
├── frontend/
│ ├── src/ # Código fuente React
│ ├── public/ # Archivos estáticos
│ └── package.json # Dependencias Node.js
└── docker-compose.yml # Orquestación de contenedores
- Docker y Docker Compose
- Node.js 18+ (para desarrollo local)
- Python 3.11+ (para desarrollo local)
- Clona el repositorio:
git clone <repository-url>
cd Turtlector- Configura las variables de entorno:
cp backend/.env.example backend/.env
# Edita backend/.env con tus claves de API- Ejecuta con Docker Compose:
docker-compose up --build- Accede a la aplicación:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Documentación API: http://localhost:8000/docs
cd backend
python -m venv env
uv venv env #en caso de tener Ultraviolet
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
uv pip install -r requirements.txt #en caso de tener Ultraviolet
uvicorn app.main:app --reload --port 8000cd frontend
npm install
npm run devCopia .env.example a .env y configura:
GEMINI_API_KEY=tu_clave_de_gemini
WHISPER_MODEL=base
UPLOAD_DIR=uploads
MAX_FILE_SIZE=10485760- FastAPI - Framework web moderno para Python
- React Three Fiber - React renderer para Three.js
- Drei - Utilidades para React Three Fiber
- Google Gemini - API de IA de Google
- OpenAI Whisper - Modelo de reconocimiento de voz
- Vite - Build tool para frontend
- Three.js - Biblioteca 3D para JavaScript
- TypeScript - Superset tipado de JavaScript
- Backend: FastAPI + Python 3.11
- Frontend: Node.js + Nginx para producción
- Volúmenes: Persistencia de uploads y configuraciones
# Construir y ejecutar
docker-compose up --build
# Ejecutar en segundo plano
docker-compose up -d
# Ver logs
docker-compose logs -f
# Detener servicios
docker-compose down
# Limpiar volúmenes
docker-compose down -vMe imagino que para TAWS. Ver el archivo LICENSE sabra dios donde esta.
- No olvidar poner los nombres