How bonifacho/sintesis_backend works
SÍNTESIS is a Flask LMS API. Clients use its security endpoints to register, authenticate, and manage identity and access; academic endpoints manage groups, enrollment, course content, assessments, and learner progress. Routes delegate domain work to services, which use repositories for database access. The README documents broader academic capabilities than the sampled excerpts; those are represented at the domain-module level without asserting unsampled internal call details.
Main entry points: __init__.py Flask app · core_security/routes.py Security routes · services.py Security service · core_academic/routes.py Academic routes
Components 15
API foundation
- Flask app
app/__init__.py - Flask extensions
app/extensions.py
Identity and access
- Security routes
app/core_security/routes.py - Security service
app/core_security/services.py - Security repository
app/core_security/repositories.py - Security models
app/core_security/models.py - Role guard
app/utils/decorators.py - JWT revocation check
app/extensions.py
Learning domain
- Academic routes
app/core_academic/routes.py - Academic service
app/core_academic/services.py - Academic repository
app/core_academic/repositories.py - Academic models
app/core_academic/models.py
Persistence
- SQL database
Other components
- API client
- Email delivery
Connections 17
- API client → Flask app: sends HTTP
- Flask app → Flask extensions: initializes
- Flask app → Security routes: registers blueprint
- Flask app → Academic routes: registers blueprint
- Security routes → API client: returns JSON
- Academic routes → API client: returns JSON
- Security routes → Security service: calls
- Security routes → Role guard: uses access guard
- Role guard → Flask extensions: verifies JWT
- Security service → Security repository: queries and persists
- Security repository → SQL database: reads and writes
- Flask extensions → JWT revocation check: checks token status
- JWT revocation check → SQL database: looks up revoked token
- Security service → Email delivery: would send reset instructions
- Academic routes → Academic service: calls
- Academic service → Academic repository: queries and persists
- Academic repository → SQL database: reads and writes