Community Vote Tracker API

Completed

May 2024 - Feb 2025 (10 months)

Community Vote Tracker API is the backend system that powers PMAC administration and end-user voting workflows.

It provides authentication, community and user management, issue voting lifecycle endpoints, invitation/password flows, and supporting push/email integrations while maintaining SQL-backed consistency through migration-driven evolution.

Built with: ASP.NET Core 8, C#, Dapper, FluentMigrator, SQL Server stored procedures, JWT auth middleware, AutoMapper, MailKit/MimeKit, OneSignal API, and Azure Application Insights.

Project Activity

Recent updates for Community Vote Tracker API. Completed

February 2025

  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Release/deployment readiness updates (version checks + environment config); Validation/error-handling hardening and backend manager/service refactors.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • PMAC admin/user-management contract and role/access logic updates; Validation/error-handling hardening and backend manager/service refactors.
  • PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements.
  • SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements.

January 2025

  • PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Validation/error-handling hardening and backend manager/service refactors.
  • PMAC admin/user-management contract and role/access logic updates; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; PMAC admin/user-management contract and role/access logic updates.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; PMAC admin/user-management contract and role/access logic updates; Invitation/password-recovery pipelines and email-delivery refinements.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • PMAC admin/user-management contract and role/access logic updates.
  • Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • PMAC admin/user-management contract and role/access logic updates.
  • Backend API/service contract updates across PMAC, community, and voting modules.

December 2024

  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • PMAC admin/user-management contract and role/access logic updates; SQL migration + stored-procedure contract updates (Dapper-backed services); Push-notification dispatch and issue-event signaling adjustments.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Release/deployment readiness updates (version checks + environment config).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; PMAC admin/user-management contract and role/access logic updates; Push-notification dispatch and issue-event signaling adjustments.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; PMAC admin/user-management contract and role/access logic updates.
  • Invitation/password-recovery pipelines and email-delivery refinements.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.
  • SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.

November 2024

  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Validation/error-handling hardening and backend manager/service refactors.
  • Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Backend API/service contract updates across PMAC, community, and voting modules.

October 2024

  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Invitation/password-recovery pipelines and email-delivery refinements.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Backend API/service contract updates across PMAC, community, and voting modules.

September 2024

  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Invitation/password-recovery pipelines and email-delivery refinements.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries.
  • Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; PMAC admin/user-management contract and role/access logic updates; Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.

August 2024

  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes.
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Validation/error-handling hardening and backend manager/service refactors.
  • Validation/error-handling hardening and backend manager/service refactors.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Release/deployment readiness updates (version checks + environment config).
  • Invitation/password-recovery pipelines and email-delivery refinements.
  • SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Issue lifecycle APIs (`/CreateIssue`, `/Issues`, `/SearchIssues`, `/CastVoteOnIssue`) and vote-detail routes; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Release/deployment readiness updates (version checks + environment config).
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements; Validation/error-handling hardening and backend manager/service refactors.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.

July 2024

  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; Invitation/password-recovery pipelines and email-delivery refinements.
  • Community flow changes (`/MyCommunities`, `/SwitchCommunity`, `/EditCommunity`) and member/board queries; SQL migration + stored-procedure contract updates (Dapper-backed services); Release/deployment readiness updates (version checks + environment config).
  • Invitation/password-recovery pipelines and email-delivery refinements.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services); Release/deployment readiness updates (version checks + environment config).
  • Invitation/password-recovery pipelines and email-delivery refinements; SQL migration + stored-procedure contract updates (Dapper-backed services).
  • Validation/error-handling hardening and backend manager/service refactors.
  • Backend API/service contract updates across PMAC, community, and voting modules.
  • Auth/session endpoints (`/Login`, `/Auth`, `/refresh-token`, `/MyProfile`) + JWT guard updates; SQL migration + stored-procedure contract updates (Dapper-backed services).

May 2024

  • SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.
  • SQL migration + stored-procedure contract updates (Dapper-backed services); Validation/error-handling hardening and backend manager/service refactors.

Objective Link to heading

  • Build and evolve the production backend for Community Vote Tracker and PMAC operations, covering authentication, community administration, issue voting lifecycle, and supporting notification/invite flows.
  • Keep service boundaries stable while adapting SQL contracts, validation rules, and deployment/runtime observability for release-grade behavior.

Implementation path Link to heading

  • Bootstrapped ASP.NET Core API foundations and moved persistence strategy to Dapper + SQL stored-procedure driven migrations.
  • Implemented core auth/session flow (login/auth, refresh-token, JWT middleware), then expanded PMAC and community management endpoints.
  • Added issue APIs for create/search/list/detail/cast-vote and voting visibility endpoints, including role/access validation.
  • Expanded invitation, password recovery, email delivery, and OneSignal push-notification pipelines.
  • Iterated heavily on refactors, response consistency, migration compatibility, and production deployment/version handling.

Real-world challenges addressed Link to heading

  • Keeping stored-procedure contracts and API request/response models aligned during rapid PMAC and issue-feature expansion.
  • Enforcing role/access-level authorization correctly across cross-community and admin-sensitive operations.
  • Managing migration compatibility and environment drift while API behavior changed across releases.
  • Improving operational reliability with global exception handling, request timing, and Application Insights telemetry.