Все проекты
Full-Stack платформа

Bergversetzer

Платформа координации волонтёров, связывающая горные общины Швейцарии с преданными помощниками уже более 30 лет. Поддерживает двустороннее сопоставление между получателями помощи и добровольцами — на четырёх языках, с генерацией договоров, управлением размещением и полным отслеживанием жизненного цикла проектов.

Посетить платформу

Обзор проекта

Schweizer Berghilfe и SAB (Schweizerische Arbeitsgemeinschaft für die Berggebiete) координируют волонтёрскую работу в горных регионах Швейцарии уже более 30 лет. Существующая платформа нуждалась в полной переработке для поддержки современных процессов — многоуровневого контроля доступа, интеллектуального сопоставления волонтёров с проектами, генерации договоров на трёх языках и управления размещением на всех четырёх государственных языках.

Мы создали платформу с нуля: двойная система объявлений, где получатели помощи размещают потребности, а доноры времени предлагают свою доступность, с 5 ролями пользователей, автоматизированными переходами жизненного цикла проектов, генерацией PDF-договоров на немецком, французском и итальянском языках, географическим сопоставлением на основе швейцарских координат LV95 и 36 шаблонами электронных писем для всего жизненного цикла объявлений и проектов. Backend включает 52 модуля NestJS с GraphQL API, а frontend обеспечивает адаптивный интерфейс для администраторских панелей, публичного поиска и регистрации пользователей.

Разработано с помощью

Next.js
Frontend
NestJS
Backend
GraphQL
API
MongoDB
Database
Firebase
Auth

Платформа в цифрах

30+

Лет работы

Ведущая швейцарская платформа координации волонтёров для горных общин

4

Языка

Полная интернационализация — немецкий, французский, итальянский и английский

52

Модуля backend

NestJS API для объявлений, проектов, договоров, инвентаря, размещения и многого другого

5

Ролей пользователей

Администратор, координатор, куратор проекта, получатель помощи и донор времени с разграниченными правами

Возможности платформы

Двойная система объявлений

Получатели помощи публикуют потребности, доноры времени предлагают доступность — интеллектуальное сопоставление по местоположению, навыкам и датам с структурированным рабочим процессом заявок и отслеживанием интересов.

Многоуровневый контроль доступа

5 ролей пользователей (администратор, координатор, куратор проекта, получатель помощи, донор времени) с управлением на уровне организаций для корпоративных волонтёрских групп, таких как Schindler и Mettler Toledo.

Отслеживание жизненного цикла

Сквозной процесс от объявления через редактирование, согласование, выполнение до завершения — с автоматизированными переходами статусов через 4 ежедневных cron-задания, отслеживаемых Sentry.

Генерация договоров и документов

PDF-договоры для получателей помощи и доноров времени с трёхъязычными условиями (DE/FR/IT), упаковочные листы инвентаря и экспорт данных в CSV — всё генерируется на сервере через шаблоны Pug.

Географическая аналитика

Геокодирование Google Maps со швейцарскими координатами LV95, рендеринг карт MapLibre GL и фильтрация по кантонам во всех горных регионах Швейцарии.

Размещение и инвентарь

Координация жилья с сопоставлением по близости и планированием питания для волонтёрских групп. Полное управление инвентарём с распределением ресурсов и генерацией упаковочных листов.

Скриншоты платформы

Ознакомьтесь с интерфейсом платформы координации волонтёров и её ключевыми функциями

Интеграции платформы

WordPress CMS

Статьи блога и статические страницы через WordPress REST API, позволяющие нетехническому персоналу самостоятельно управлять контентом сайта без участия разработчиков.

Система email Mandrill

36 шаблонов email на Pug для всего жизненного цикла — создание объявлений, выражение интереса, отправка договоров, напоминания о начале проекта и уведомления о завершении на трёх языках.

Google Maps и швейцарские координаты

Геокодирование адресов через Google Maps API, конвертация координат в швейцарскую систему LV95 и интерактивный рендеринг карт с MapLibre GL для сопоставления волонтёров и проектов по кантонам.

Аутентификация Firebase

Мульти-провайдерный вход через Google, Facebook, Apple и email — с серверной верификацией токенов через Firebase Admin SDK и ролевым контролем доступа для 5 типов пользователей.

Google Drive и Storage

Управление документами через Google Drive API для административных файлов. Firebase Storage обрабатывает загруженные пользователями изображения и вложения проектов с коррекцией EXIF-ориентации.

Мониторинг Sentry

Отслеживание ошибок и профилирование производительности на frontend и backend. Все 4 cron-задания мониторятся через Sentry Cron check-ins — сбои или зависания немедленно вызывают оповещения.

Technical Stack

Frontend Technologies
Client-Side
Next.js 14
React 18
TypeScript
Material-UI v5
MUI X Data Grid Pro
MUI X Date Pickers Pro
Apollo Client
MapLibre GL
Firebase Auth
React Hook Form
i18next
Sentry
Backend Infrastructure
Server-Side
NestJS
GraphQL
Apollo Server
MongoDB
Mongoose
Firebase Admin
Mandrill
Google Maps API
DataLoader
Passport
pdf-puppeteer
Canvas
Build Tools & QA
Development & Infrastructure
Vitest
Testing Library
ESLint
Prettier
GraphQL Codegen
Docker
Bitbucket CI/CD
Terraform Cloud

Результаты проекта

Полная переработка платформы модернизировала 30-летнюю систему координации, привлекая новое поколение волонтёров и сохраняя долгосрочных участников. Автоматизированное сопоставление и рабочий процесс заявок заменили ручную координацию, а трёхъязычная генерация договоров устранила часы административной работы на каждый проект. С 52 модулями backend, 4 cron-заданиями для автоматических переходов статусов и 36 шаблонами email для всего жизненного цикла платформа теперь работает в значительной степени автономно — координаторы сосредоточены на взаимоотношениях, а не на бумажной работе.

Координация волонтёров
Мультиязычность (4)
52 модуля backend
36 шаблонов email
Генерация договоров
Географическое сопоставление
WordPress CMS
Некоммерческий