How nesantime/cfs-admin works
CFS-Admin is a web-based user and network-administration prototype with authentication, site and account management, contacts, chat, and videoconferencing. The user workflow starts in the browser, reaches FastAPI through the documented /api/ proxy, and uses authenticated API routes backed by PostgreSQL. Authentication and authorization form a shared internal layer; the product also has distinct administration, contacts/chat, and video capabilities. The README documents the browser-to-API-to-database deployment, while source-index references and excerpts support the API routing and persistence links shown. Unsampled frontend wiring is not inferred.
Main entry points: app.py FastAPI app · controller.py DB sessions · videoconferencia.py Videoconferencing · login.py Auth routes
Components 24
Web client
- Web interface
frontend - Apache proxy
API and access
- FastAPI app
backend/core/app.py - Auth routes
backend/api/login.py - Profile routes
backend/api/perfil.py - Access control
backend/core/deps.py - Token security
backend/core/security.py
Administration
- User management
backend/api/usuarios.py - Site management
backend/api/sedes.py - Service assignment
backend/api/servicios_usuario.py
Collaboration
- Contacts
backend/api/contactos.py - Chat
backend/api/chat.py - Videoconferencing
backend/api/videoconferencia.py - Presence
backend/api/heartbeat.py
Persistence
- DB sessions
backend/db/controller.py - Employee model
backend/db/template/empleado.py - Site model
backend/db/template/sede.py - User services model
backend/db/template/servicio_usuario.py - Contact model
backend/db/template/contacto.py - Chat message model
backend/db/template/mensaje_chat.py - Video room model
backend/db/template/sala_videoconf.py - Invitation model
backend/db/template/invitacion_videoconf.py - PostgreSQL
Other components
- User
Connections 32
- User → Web interface: uses
README.md - Web interface → Apache proxy: requests API
README.md - Apache proxy → FastAPI app: proxies /api
README.md - FastAPI app → Auth routes: registers routes
backend/core/app.py - FastAPI app → Profile routes: registers routes
backend/core/app.py - FastAPI app → User management: registers routes
backend/core/app.py - FastAPI app → Site management: registers routes
backend/core/app.py - FastAPI app → Service assignment: registers routes
backend/core/app.py - FastAPI app → Contacts: registers routes
backend/core/app.py - FastAPI app → Chat: registers routes
backend/core/app.py - FastAPI app → Videoconferencing: registers routes
backend/core/app.py - FastAPI app → Presence: registers routes
backend/core/app.py - Auth routes → Token security: creates tokens
backend/api/login.py - Profile routes → Token security: uses token functions
backend/api/perfil.py - Access control → Token security: decodes tokens
backend/core/deps.py - Access control → DB sessions: gets session
backend/core/deps.py - Auth routes → DB sessions: gets session
backend/api/login.py - User management → DB sessions: gets session
backend/api/usuarios.py - Site management → DB sessions: gets session
backend/api/sedes.py - Service assignment → DB sessions: gets session
backend/api/servicios_usuario.py - Contacts → DB sessions: gets session
backend/api/contactos.py - Chat → DB sessions: gets session
backend/api/chat.py - Videoconferencing → DB sessions: gets session
backend/api/videoconferencia.py - Presence → DB sessions: gets session
backend/api/heartbeat.py - DB sessions → PostgreSQL: connects
README.md - User management → Employee model: queries
backend/api/usuarios.py - Site management → Site model: queries
backend/api/sedes.py - Service assignment → User services model: queries
backend/api/servicios_usuario.py - Contacts → Contact model: queries
backend/api/contactos.py - Chat → Chat message model: queries
backend/api/chat.py - Videoconferencing → Video room model: queries
backend/api/videoconferencia.py - Videoconferencing → Invitation model: queries
backend/api/videoconferencia.py