How marcuslimadev/controleportariaescolar works
Porta Aberta Escolar connects school staff, families, and gate operators around student safety and school communication. The central workflow is scanning a guardian badge, looking up authorized children, recording entry or exit, and making movements visible to families. Separate capabilities cover family invitations and onboarding, pickup authorizations, attendance and absences, badges, school administration, reports, and posts/events. The graph reflects documented routes and factory wiring; unsampled service internals are represented by their service paths, with uncertain calls omitted.
Main entry points: index.php Gate scanner · convites.php Family invitations · Persistence PDO repositories · AccessService.php Access logging
Components 32
Web entry points
- Login
public/login.php - Gate scanner
public/portaria/index.php - Access recording
public/portaria/registrar.php - Family portal
public/responsavel/index.php - School admin
public/admin/index.php - Family invitations
public/portaria/convites.php - Pickup authorizations
public/responsavel/autorizacoes.php
Access and safety
- Guardian lookup
app/Services/AccessLookupService.php - Access logging
app/Services/AccessService.php - Movement records
app/Infrastructure/Persistence/PdoAccessLogRepository.php - Badges
app/Services/BadgeService.php - Emergency badges
app/Services/EmergencyBadgeService.php
Family services
- Family onboarding
app/Services/FamilyOnboardingService.php - Invitation service
app/Services/InviteService.php - Family dashboard
app/Services/GuardianPortalService.php - Authorization service
app/Services/WithdrawalAuthorizationService.php
School operations
- Absence notices
app/Services/AbsenceService.php - Attendance
app/Services/FrequencyService.php - School records
app/Services/SchoolAdminService.php - Reports
app/Services/ReportService.php - Posts and events
app/Services/PostService.php - Post interactions
app/Services/PostInteractionService.php - Notifications
app/Services/NotificationService.php
Application and persistence
- Authentication
app/Services/AuthService.php - PDO repositories
app/Infrastructure/Persistence - Audit logging
app/Infrastructure/Logging/DatabaseAuditLogger.php - Service wiring
app/Support/ServiceFactory.php
Other components
- School staff
- Families
- Gate operators
- MySQL database
- Offline browser queue
Connections 34
- Families → Login: sign in
- School staff → Login: sign in
- Login → Authentication: authenticates
- Gate operators → Gate scanner: scans badge
- Gate scanner → Guardian lookup: looks up
- Gate scanner → Access recording: submits movements
- Gate scanner → Offline browser queue: queues offline
- Offline browser queue → Access recording: syncs movements
- Access recording → Access logging: records
- Access logging → Movement records: writes movement
- Families → Family portal: views activity
- Family portal → Family dashboard: loads dashboard
- Family dashboard → PDO repositories: reads records
- School staff → School admin: manages school
- School admin → School records: handles actions
- Families → Family invitations: completes invitation
- Gate operators → Family invitations: creates invitation
- Family invitations → Invitation service: creates invite
- Family invitations → Family onboarding: submits enrollment
- Families → Pickup authorizations: requests pickup
- Pickup authorizations → Authorization service: manages authorization
- Authorization service → PDO repositories: reads and writes
- School staff → Absence notices: handles absence notices
- School staff → Attendance: records attendance
- School staff → Reports: views reports
- School staff → Posts and events: publishes updates
- Families → Posts and events: reads updates
- Families → Post interactions: responds to posts
- Posts and events → Notifications: sends notifications
- Service wiring → PDO repositories: constructs services
- Access logging → Audit logging: records audit
- Authorization service → Audit logging: records audit
- School records → Audit logging: records audit
- PDO repositories → MySQL database: queries and updates