Skip to content

Feat/bi weekly reports#25

Merged
luis0ares merged 15 commits intoProgramadoresSemPatria:developfrom
pedrogagodev:feat/bi-weekly-reports
Mar 14, 2026
Merged

Feat/bi weekly reports#25
luis0ares merged 15 commits intoProgramadoresSemPatria:developfrom
pedrogagodev:feat/bi-weekly-reports

Conversation

@pedrogagodev
Copy link
Contributor

@pedrogagodev pedrogagodev commented Mar 4, 2026

Summary

Implements the Bi-Weekly Reports feature that allows users to submit periodic reports about their job search activities, including application statistics, response rates, completed interviews, and networking metrics. Reports are automatically posted to a Discord webhook for community tracking.

Type of Change

  • Feature
  • Fix
  • Improvement
  • Refactor
  • Documentation

Included Changes

Features

  • Backend - Domain Model: Adds QuinzenalReportModel with fields for application statistics, conversion rates, interview counters, networking metrics (mock interviews, LinkedIn posts, strategic connections), and reflection fields (biggest win, biggest challenge, next fortnight goal)
  • Backend - Database: Alembic migration to create the quinzenal_reports table with constraints, indexes, and relationships
  • Backend - Repository: Implements QuinzenalReportRepository for CRUD operations and specialized queries
  • Backend - DTOs: Defines data transfer objects for report creation, listing, and detail views
  • Backend - Use Cases:
    • SubmitReportUseCase: Submission of new reports with automatic statistics calculation
    • ListReportsUseCase: Paginated listing of user reports
    • GetReportUseCase: Retrieval of specific report by day
  • Backend - Discord Integration: DiscordService to automatically post reports to a Discord webhook
  • Backend - API: RESTful endpoints at /api/reports for listing, retrieving, and submitting bi-weekly reports
  • Backend - Configuration: Adds DISCORD_REPORTS_WEBHOOK environment variable
  • Frontend - Navigation: Adds "Reports" link to navbar with document icon
  • Frontend - Pages:
    • Reports listing page (/reports)
    • Report detail/submission page (/reports/[day])
    • Protected layout for report routes
  • Frontend - Components:
    • ReportsList: List of reports with completion status
    • ReportForm: Complete form for report submission
    • ReportStatusBadge: Badge indicating report status
    • Modular form components (fields, sections, states, views)
  • Frontend - Hooks: useReports, useReportDetail, useReportSubmit for state management
  • Frontend - Services & Types: API service, validation schemas, and TypeScript typings

Fixes

  • Fixes _resource_conflict_handler exception handler that was receiving ResourceNotFound instead of ResourceConflict

Improvements

  • Docker: Adds DISCORD_REPORTS_WEBHOOK to docker-compose.yml for simplified development environment configuration

Related Issues

Testing

  • Unit tests
  • Integration tests
  • Manual testing
  • N/A

Notes

  • The feature uses specific program days (1, 14, 28, 42, 56, 70, 84, 98, 112, 120) to define bi-weekly reports
  • Each user can submit only one report per program day
  • Reports include aggregated statistics from the user's complete history in addition to fortnight-specific data
  • Discord integration is optional and configured via environment variable

Checklist

  • Self-review completed
  • CI passing
  • Ready to merge

@luis0ares luis0ares self-requested a review March 4, 2026 22:51
@luis0ares luis0ares merged commit 544c9ff into ProgramadoresSemPatria:develop Mar 14, 2026
3 checks passed
@luis0ares luis0ares mentioned this pull request Mar 14, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants