ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Manage schedules from a web platform
AI translation
Gestionar horarios desde una plataforma web
AI summary · revised during review
EducationTypeScript · PythonGitHub @gestionhorariossena-senaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
El Sistema de Información SIHS es una plataforma web desarrollada con una arquitectura basada en API REST y desacoplada mediante un enfoque de Monorepo. Este repositorio contiene tanto el servidor Backend como el cliente Frontend, garantizando un desarrollo modular, escalable y mantenible. ▶️ Inicio rápido (para ver el proyecto andando) Necesitas dos consolas abiertas al mismo tiempo, una para cada carpeta — el backend y el frontend son dos servidores independientes que corren en paralelo.Read the full README ↗
El Sistema de Información SIHS es una plataforma web desarrollada con una arquitectura basada en API REST y desacoplada mediante un enfoque de Monorepo. Este repositorio contiene tanto el servidor Backend como el cliente Frontend, garantizando un desarrollo modular, escalable y mantenible.
Necesitas dos consolas abiertas al mismo tiempo, una para cada carpeta — el backend y el frontend son dos servidores independientes que corren en paralelo.
Antes que nada: consigue el .env de backend/ y frontend/ — ver
database/README.md (son las credenciales de
Supabase, no se suben a GitHub).
Consola 1 — Backend:
cd backend
python3 -m venv .venv && source .venv/bin/activate # Windows: python -m venv .venv && .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # y pegar ahí las credenciales reales
uvicorn app.main:app --reload
Déjala corriendo — queda en http://127.0.0.1:8000 (probar en
http://127.0.0.1:8000/docs).
Consola 2 — Frontend:
cd frontend
npm install
cp .env.example .env # y pegar ahí las credenciales reales
npm run dev
Déjala corriendo también — abre la URL que muestre la consola (normalmente
http://localhost:5173).
Con las dos consolas corriendo a la vez, ya se puede entrar al sistema
desde el navegador. Usuarios de prueba en
database/README.md.
Opcional — Consola 3 — App Móvil (Flutter):
La app móvil consume el mismo backend y Supabase que el frontend web.
cd mobile
flutter pub get
cp .env.example .env # y pegar ahí las credenciales reales
flutter run
Para más detalles, ver mobile/README.md.
La versión web de SIHS ya cubre el flujo principal de gestión de horarios y sus módulos relacionados. El sistema trabaja con cuatro perfiles: Administrador, Coordinador, Instructor y Aprendiz, con acceso a rutas según rol.
@supabase/supabase-jsPROYECTO-SIHS/
├── backend/ # Servidor de API REST (FastAPI)
│ ├── app/
│ │ ├── api/ # Endpoints y rutas de la API
│ │ ├── core/ # Configuraciones globales y seguridad JWT
│ │ ├── models/ # Modelos de base de datos (SQLAlchemy)
│ │ ├── schemas/ # Esquemas de validación (Pydantic)
│ │ ├── repositories/ # Acceso a datos
│ │ └── services/ # Lógica de negocio
│ ├── app/main.py # Punto de entrada de la aplicación FastAPI
│ ├── .env.example # Plantilla de variables de entorno
│ ├── requirements.txt # Dependencias de Python
│ ├── ESTRUCTURA.md # 👉 Qué es cada archivo, patrón para agregar módulos
│ └── OBJETIVO_Y_SERVICIOS_FALTANTES.md # 👉 Qué falta para cumplir el objetivo
│
├── frontend/ # Cliente Web (React + Vite + TypeScript + Tailwind)
│ ├── src/
│ │ ├── assets/ # Imágenes (logo SENA, etc.)
│ │ ├── components/ # Componentes de UI reutilizables (AuthLayout, FormField)
│ │ ├── context/ # AuthContext — sesión de Supabase
│ │ ├── hooks/ # useAuth
│ │ ├── pages/ # Login, Registro, RecuperarContrasena, Dashboard
│ │ ├── routes/ # AppRouter, ProtectedRoute
│ │ ├── services/ # supabaseClient.ts (Auth) y api.ts (consume el backend)
│ │ └── types/ # Tipos que reflejan los schemas del backend
│ ├── .env.example # Plantilla de variables de entorno
│ ├── package.json # Dependencias de Node.js
│ ├── ESTRUCTURA.md # 👉 Qué es cada archivo, cómo consumir el backend
│ └── OBJETIVO_Y_SERVICIOS_FALTANTES.md # 👉 Qué pantallas faltan
│
├── mobile/ # Cliente Móvil (Flutter - iOS/Android/Web)
│ ├── lib/
│ │ ├── main.dart # Punto de entrada de la app
│ │ ├── config/ # Configuración (AppConfig)
│ │ ├── models/ # Modelos de datos (Usuario, Horario)
│ │ ├── services/ # Servicios (Auth, API, Horarios)
│ │ ├── providers/ # State management (Provider)
│ │ ├── screens/ # Pantallas (Login, Home)
│ │ └── widgets/ # Widgets reutilizables
│ ├── .env.example # Plantilla de variables de entorno
│ ├── pubspec.yaml # Dependencias de Flutter
│ └── README.md # 👉 Setup, arquitectura, endpoints
│
├── database/ # Esquema y guía de la base de datos (Supabase)
│ ├── README.md # 👉 Cómo configurar y conectarte a la BD
│ ├── 01_creacion.sql # Esquema completo de tablas
│ ├── migrations/ # Migraciones de Alembic
│ └── seeds/ # Datos de prueba
│
├── .gitignore # Archivos e itinerarios excluidos de Git
└── README.md # Documentación principal del proyecto
El proyecto usa Supabase (PostgreSQL en la nube) — nadie necesita instalar
una base de datos local. Para configurarla en tu máquina, sigue la guía paso
a paso en database/README.md.
git clone <URL_DEL_REPOSITORIO>
cd PROYECTO-SIHS
Antes de levantar el backend, sigue database/README.md
para conseguir tus credenciales de Supabase y crear tu .env.
Entrar a la carpeta del backend:
cd backend
Crear el entorno virtual:
# En Windows:
python -m venv venv
.\venv\Scripts\activate
# En Linux/Mac:
python3 -m venv venv
source venv/bin/activate
Instalar las dependencias:
python -m pip install --upgrade pip
pip install -r requirements.txt
Iniciar el servidor de desarrollo:
uvicorn app.main:app --reload
El backend estará corriendo en: http://127.0.0.1:8000
Documentación interactiva Swagger: http://127.0.0.1:8000/docs
Abrir una nueva terminal y entrar a la carpeta del frontend:
cd frontend
Instalar dependencias de Node:
npm install
Iniciar el servidor de desarrollo:
npm run dev
El frontend estará corriendo en: http://localhost:5173
La rama estable es main. Para trabajo colaborativo normal se recomienda
crear una rama corta por tarea y abrir un Pull Request hacia main.
git checkout main
git pull origin main
git checkout -b feature/nombre-tarea
# trabajar y validar
git add .
git commit -m "feat: descripción clara"
git push -u origin feature/nombre-tarea
Cada push y Pull Request ejecuta GitHub Actions:
npm ci, npm run lint, npm run build y npm run test.requirements.txt y pytest -v.Antes de integrar una rama, ambos jobs deben finalizar correctamente. Los
cambios directos sobre main se reservan para mantenimiento coordinado del
repositorio.
Proyecto desarrollado como parte del programa de formación Tecnológica en Análisis y Desarrollo de Software (ADSO) - SENA.