This repository contains an extracted Survey module from a larger HRM platform.
The original HRM system is an internal workforce management platform used to support core people operations, including:
- employee lifecycle processes (onboarding, active work period, offboarding)
- organizational structure and assignment (users, workers, departments)
- periodic HR workflows and notifications
- reporting and exports for HR analytics
In that broader context, the Survey module is responsible for collecting structured employee feedback and delivering actionable HR insights.
The Survey module supports end-to-end survey lifecycle management for HR teams and employees.
- create and update surveys through aggregate DTO/request flows
- manage survey templates and production surveys
- support multiple survey scenarios:
- regular HR surveys
- offboarding surveys
- burnout surveys
- impulse (pulse-like) surveys
- support question/answer modeling:
- typed answers (text, numeric scales, selectable variants)
- required questions
- question variants and answer validation
- page-based survey composition
- track worker assignments and completions
- calculate and expose survey statistics for API consumers
- export survey results for reporting workflows
- trigger reminders and automated survey-related cron processes
app/Services/Survey/SurveyVariantService.phpapp/Services/Survey/SurveyService.phpapp/Services/Survey/SurveyQuestionService.phpapp/Services/Survey/SurveyPageService.phpapp/Services/Survey/SurveyCompletionService.phpapp/Services/Survey/SurveyBurnoutService.phpapp/Services/Survey/SurveyAggregateService.phpapp/Services/Survey/ImpulseTemplateService.phpapp/Services/Survey/ImpulseService.php
For a compact technical overview of the source Workers backend stack (runtime, dependencies, infrastructure, and workflow), see STACK.md.
The extraction preserves the original layer-oriented structure for easier navigation:
app/Services/Survey— business logic for survey flowsapp/Http/Controllers/Api— survey API entry pointsapp/Http/Requests/Survey— request validation and constraintsapp/Http/Resources/Survey— API resource transformersapp/Models/Survey— survey domain models and relationsapp/Rules,app/Filters,app/Exceptions/Survey— domain rules and validation behaviorapp/Console/Commands+app/Console/Kernel.php— survey-related scheduled automationroutes/api/surveys.php(+ minimal route bootstrap fragment) — API routingdatabase/migrations,database/seeds/Survey,database/factories/Survey— persistence layer and test datatests/Feature/...Survey...— feature and integration-oriented tests
- This repository is intended as a code showcase of the Survey domain.
- It reflects survey-focused extraction from a larger HRM codebase.
- Some workflows (notifications, broader auth/role ecosystem, external integrations) depend on components that exist in the full platform.