How fabricadesoftware-ifc/fabricahackathon_backend works
This is a Django REST API for managing hackathon editions, teams and projects, participant enrollment, judging, preliminary assessments, and administrator oversight. The main workflow is authenticated participant enrollment into an edition, creation of a team and project, evaluator scoring, and computation of a final result; administrators also inspect edition summaries and rankings. Public and authenticated resource endpoints, profile management, and image uploads are supporting capabilities. The graph uses the route table and sampled modules; unsampled resource handlers are represented by their existing views directory, so their internal call details are not inferred.
Main entry points: urls.py API routes · models Hackathon records · me.py My profile · inscricao.py Enrollment endpoints
Components 20
API and access
- API routes
django_project/urls.py - Resource endpoints
core/hackathon/views - Account registration
core/hackathon/views/registro.py - Role permissions
core/hackathon/permissions.py - My profile
core/hackathon/views/me.py
Hackathon participation
- Enrollment endpoints
core/hackathon/views/inscricao.py - Enrollment rules
core/hackathon/services/inscricao.py - Hackathon records
core/hackathon/models - Enrollment serializers
core/hackathon/serializers/inscricao.py
Judging and results
- Pre-assessment endpoint
core/hackathon/views/preAvaliacao.py - Pre-assessment serializer
core/hackathon/serializers/preAvaliacao.py - Pre-assessment scoring
core/hackathon/services/pre_avaliacao.py - Score validation
core/hackathon/serializers/nota.py - Score rules
core/hackathon/validations/nota_validation.py - Final score calculation
core/hackathon/services/nota_final.py - Admin dashboard
core/hackathon/views/painel.py
Profiles and media
- Image handling
core/hackathon/serializers/imagem.py - Image validation
core/hackathon/validations/imagem_validation.py - Cloudinary storage
Other components
- API client
Connections 23
- API client → API routes: calls API
django_project/urls.py - API routes → Resource endpoints: routes resources
django_project/urls.py - API routes → Account registration: routes signup
django_project/urls.py - API routes → Enrollment endpoints: routes enrollment
django_project/urls.py - API routes → Pre-assessment endpoint: routes assessment
django_project/urls.py - API routes → Admin dashboard: routes dashboard
django_project/urls.py - API routes → My profile: routes profile
django_project/urls.py - Enrollment endpoints → Enrollment rules: delegates enrollment
core/hackathon/views/inscricao.py - Enrollment endpoints → Enrollment serializers: validates input
core/hackathon/views/inscricao.py - Enrollment rules → Hackathon records: creates team records
core/hackathon/services/inscricao.py - Enrollment serializers → Hackathon records: serializes records
core/hackathon/serializers/inscricao.py - My profile → Role permissions: checks roles
core/hackathon/views/me.py - My profile → Enrollment serializers: uses profile serializers
core/hackathon/views/me.py - Pre-assessment endpoint → Pre-assessment serializer: validates assessment
core/hackathon/views/preAvaliacao.py - Pre-assessment endpoint → Pre-assessment scoring: delegates scoring
core/hackathon/views/preAvaliacao.py - Pre-assessment serializer → Hackathon records: serializes assessment
core/hackathon/serializers/preAvaliacao.py - Score validation → Score rules: checks score rules
core/hackathon/serializers/nota.py - Score validation → Hackathon records: creates score records
core/hackathon/serializers/nota.py - Admin dashboard → Final score calculation: reads score logic
core/hackathon/views/painel.py - Admin dashboard → Hackathon records: queries edition results
core/hackathon/views/painel.py - Image handling → Image validation: validates uploads
- Image handling → Cloudinary storage: stores images
README.md - Image validation → Hackathon records: validates model images
core/hackathon/models/user.py