ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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. ▶️ 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.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.