How joaoptoaldo/sistema-facul works
Sistema Universitário is a React web app backed by an Express API and SQLite. Users navigate university pages to register students or professors, browse courses, and submit contact messages; those pages call the corresponding API resources. The backend routes requests through controllers and business services to repositories and the database. The README documents the UI capabilities and API endpoints; sampled source confirms several layer calls, while some page-to-API links are documented rather than visible in the excerpts.
Main entry points: App.jsx Page router · app.js Express application · connection.js SQLite database · alunos.routes.js Students API
Components 30
Web application
- Page router
frontend/src/App.jsx - Home page
frontend/src/Home.jsx - Navigation
frontend/src/Navbar.jsx - Student registration
frontend/src/CadastroAluno.jsx - Professor registration
frontend/src/CadastroProfessor.jsx - Course listing
frontend/src/Cursos.jsx - Contact form
frontend/src/Contato.jsx
API routing
- Students API
backend/src/routes/alunos.routes.js - Professors API
backend/src/routes/professores.routes.js - Courses API
backend/src/routes/cursos.routes.js - Contacts API
backend/src/routes/contatos.routes.js - Health API
backend/src/routes/health.routes.js - Student handlers
backend/src/controllers/alunos.controller.js - Professor handlers
backend/src/controllers/professores.controller.js - Contact handlers
backend/src/controllers/contatos.controller.js
Domain services
- Course service
backend/src/services/cursos.service.js - Health service
backend/src/services/health.service.js - Student service
backend/src/services/alunos.service.js - Professor service
backend/src/services/professores.service.js - Contact service
backend/src/services/contatos.service.js - Error handling
backend/src/middlewares/error.middleware.js
Persistence
- Student repository
backend/src/data/alunos.repository.js - Professor repository
backend/src/data/professores.repository.js - Course repository
backend/src/data/cursos.repository.js - Contact repository
backend/src/data/contatos.repository.js - SQLite database
backend/src/database/connection.js
Server operations
- HTTP server
backend/src/server.js - Express application
backend/src/app.js - Schema and seed
backend/src/database/migrate.js
Other components
- University user
Connections 34
- University user → Page router: uses
README.md - Page router → Home page: routes to
frontend/src/App.jsx - Page router → Navigation: renders
frontend/src/App.jsx - Page router → Student registration: routes to
frontend/src/App.jsx - Page router → Professor registration: routes to
frontend/src/App.jsx - Page router → Course listing: routes to
frontend/src/App.jsx - Page router → Contact form: routes to
frontend/src/App.jsx - Student registration → Students API: calls
README.md - Professor registration → Professors API: calls
README.md - Course listing → Courses API: fetches
README.md - Contact form → Contacts API: calls
README.md - Express application → Students API: mounts
backend/src/app.js - Express application → Professors API: mounts
backend/src/app.js - Express application → Courses API: mounts
backend/src/app.js - Express application → Contacts API: mounts
backend/src/app.js - Express application → Health API: mounts
backend/src/app.js - Students API → Student handlers: dispatches
backend/src/routes/alunos.routes.js - Professors API → Professor handlers: dispatches
backend/src/routes/professores.routes.js - Contacts API → Contact handlers: dispatches
backend/src/routes/contatos.routes.js - Student handlers → Student service: calls
backend/src/controllers/alunos.controller.js - Professor handlers → Professor service: calls
backend/src/controllers/professores.controller.js - Contact handlers → Contact service: calls
backend/src/controllers/contatos.controller.js - Student service → Student repository: queries
backend/src/services/alunos.service.js - Professor service → Professor repository: queries
backend/src/services/professores.service.js - Student repository → SQLite database: reads and writes
backend/src/data/alunos.repository.js - Professor repository → SQLite database: reads and writes
backend/src/data/professores.repository.js - Course service → Course repository: queries
backend/src/services/cursos.service.js - Contact service → Contact repository: queries
backend/src/services/contatos.service.js - Course repository → SQLite database: reads
backend/src/data/cursos.repository.js - Contact repository → SQLite database: reads and writes
backend/src/data/contatos.repository.js - HTTP server → Express application: starts
backend/src/server.js - HTTP server → Schema and seed: runs
backend/src/server.js - Schema and seed → SQLite database: initializes
backend/src/database/migrate.js - Express application → Error handling: registers
backend/src/app.js