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.
Links
Related Projects
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.