CommunityLink bookingsystem – coordination of volunteers

CommunityLink bookingsystem Jumbotron Image

CommunityLink bookingsystem

Coordination of activities and volunteers for organizations

About CommunityLink bookingsystem

I was tasked with developing CommunityLink from the ground-up, a digital coordination platform connecting organizations with volunteers around activities for events etc.

Key features included activity planning and management, intelligent targeting based on interests, skills, availability and geography, volunteer matching, smart communication and assignments. Also organizational administration, and automated communication through email, SMS and push notifications. The platform also included background processing to automatically follow up on unfilled activities and expand the target audience in a selectable timeframe, when needed.

I built the frontend in Next.js and React and the backend in .NET 8 and ASP.NET Core, with shared TypeScript packages, REST APIs, Entity Framework Core, MySQL, caching and asynchronous workers. The backend has several good scalability-oriented foundations such as stateless API processes, Redis cache support, pagination with frontend infinity-scroll, async EF calls, and a separate delivery worker.

The backend API- and worker-separation keeps user-facing requests independent from slower email, SMS, push-notification and scheduled background processing, while allowing the API to scale horizontally while keeping the worker as a singleton.

The solution was containerized and designed for deployment to a cloud-based Kubernetes environment.

Key Features

  • Activity Management: Create, organize and manage activities and volunteer assignments.
  • Volunteer Matching: Match the right people to activities based on interests, skills, availability and location.
  • Targeted Communication: Reach relevant volunteers through automated email, SMS and push notifications.
  • Coordination & Insights: Track participation, availability and activity status with clear overviews and administrative tools.
  • Multi-tenant organization architecture: With organization-scoped users, administrators, departments, groups, licenses, and permissions.
  • Sophisticated activity targeting: Volunteers can search across organizations, departments, owners, geography, and areas of interest.
  • Priority-based automatic audience escalation for unfilled activities.
  • Availability and scheduling conflict detection: Avoid overlapping activity volunteer assignments.
  • Bulk activity operations: Create, edit and delete many activities at once.

Technical Approach

The CommunityLink platform was developed with a focus on simplifying and automating the coordination of volunteers across organizations and activities. The solution uses a modern, scalable architecture designed to support complex business logic, targeted matching, communication and activity management.

On the frontend, I utilized Next.js and TypeScript to build a dynamic and responsive web application, with React, Redux Toolkit, React Context and TanStack Query supporting state management, caching and efficient data flow. Shared packages within a Turborepo monorepository provide reusable components, API hooks, data types, internationalization and UI functionality.

The backend was developed using .NET 8 and ASP.NET Core, providing a REST-based API and a structured foundation for handling the platform's complex business logic. Entity Framework Core was used for database interactions, while ASP.NET Core Identity, JWT and role-based access control (RBAC) handled authentication and authorization.

MySQL was used as the primary database-engine, supported by Redis for prod and in-memory caching for dev. A separate .NET Background Worker Service handles asynchronous processing such as notifications, reminders, activity follow-ups and automated expansion of target audiences for unfilled activities.

Efficient server-side filtering, sorting, projection, and pagination. Soft deletion and asynchronous lifecycle cleanup for users, organizations, activities, and related data.

Secure authentication lifecycle including refresh tokens, password reset, account activation, SMS verification, and device verification. Device management and standards-based web-push delivery using VAPID.

The platform also integrates email, SMS and push notifications through a database-backed delivery queue, while Amazon S3-compatible Scaleway Object Storage is used for files and images. Docker, Swagger/OpenAPI and environment-based configuration support consistent development and deployment across environments.

Kubernetes-safe singleton worker deployment to avoid overlapping queue consumers during Kubernetes-rollouts.

DevOps and quality practices were integrated throughout the project, with automated unit and integration testing using xUnit, and continuous integration and deployment through GitHub Actions. The application is containerized and deployed to Europe-based cloud-hosting Scaleway using Kubernetes, with infrastructure configuration managed through Terraform.

Extensive automated backend tests covering 1,398 tests of controllers, authorization, business actions, caching, helpers, background jobs, and external-service adapters.

Tech Stack

  • Frontend: Next.js, React, TypeScript, Redux Toolkit, React Context, TanStack Query
  • UI & Shared Packages: Material UI, Tailwind CSS, SCSS Modules, Turborepo
  • Backend: .NET 8, ASP.NET Core, Entity Framework Core, REST API
  • Data & Services: MySQL, Redis, Elasticsearch, Scaleway Object Storage
  • Authentication & Communication: ASP.NET Core Identity, JWT, Email, SureSMS, PWA Push Notifications
  • DevOps & Testing: Docker, Kubernetes, Terraform, GitHub Actions, xUnit, Swagger/OpenAPI

GitHub repositories & Online Demo

For a live demo, you can Visit the CommunityLink bookingsystem demo site.

Login details:

  • Email:
  • Password:

Below are GitHub repositories.