Bir Web AjansBir Web Ajans

PDR Platform

An entire association's operation, in a single system.

System
Enterprise membership & education platform
Client
Turkish PDR Association
Address
pdr.org.tr
Status
Live
Scope
Product architecture, data migration, engineering, infrastructure and operations
Field
PlatformsAssociationEducationCommerce

pdr.org.tr

PDR Platform — Enterprise membership & education platform
PDR Platform mobil

pdr.org.tr

PDR Platform

Screenshots from the live system's public pages.

01 — Problem

The professional body for psychological counselling and guidance ran member records in a legacy membership system, its website in a separate Laravel app, and training, dues, documents and its store as disconnected processes. No one could see a member's dues history, documents and training record in one place.

02 — System

We built a modular association platform that unifies the public site, member area and admin panel on a single Node/Next stack. From membership application to board decision, dues collection to certificates submitted to e-Devlet, store order to shipping label and e-Archive invoice, every process runs on the same data model. Legacy records were migrated without fabricating a single value and without losing a single file.

Membership application

Every step from application to member ID card is governed by a state machine.

  1. 01Application
  2. 02Document check
  3. 03Board review
  4. 04Member number
  5. 05Dues & ID card

Missing documents → returned to applicant

PDR Platform — yönetim

Membership applications

Application

Document check

Board review

Member number

Dues & ID card

Schematic · admin panel

03 — Architecture

Site and admin apps, separated by distinct JWT audiences, talk to one Express API. Data is split across five MySQL schemas; email, SMS and scheduled jobs are drained from an outbox by a dedicated worker process.

PDR PlatformSystem architectureREV · 2026
  1. L0Users
    • Members
    • Visitors
    • Instructors
    • 10 staff roles
  2. L1Interfaces
    • pdr.org.tr
    • Admin panel
    • Member area
    • 2 sub-sites
  3. L2Application
    • Express API · 726 route
    • Worker · outbox
    • Scheduled reports
  4. L3Modules
    • Membership
    • Dues
    • LMS
    • Certificates
    • Store
    • Governance
    • Careers
    • Support
  5. L4Data
    • MySQL 8.4 · 5 schemas
    • MinIO · CDN
  6. L5External services
    • PayTR
    • Zoom
    • e-Devlet SOAP
    • Uyumsoft e-Archive
    • MNG Kargo
    • Resend
    • Mutlucell SMS

04 — Capabilities

  1. 01

    Membership lifecycle

    Full, honorary, corporate and emeritus applications; required-document workflow, board review, member-number allocation, and state machines for suspension, resignation and honorary-to-full transitions.

  2. 02

    Dues and collection

    Period-based debt standing, pay-everything-open in a single link, PayTR card payments with instalments, manual collection by bank transfer receipt, bulk operations and dues reports.

  3. 03

    Learning management

    Program → cohort → session structure, member pricing tiers, exams and surveys, automatic attendance via the Zoom Report API, recordings, refunds and training reports.

  4. 04

    Certificates and verification

    Template editor, HTML→PDF rendering in Chromium, QR codes and barcodes, numbering, revocation, a public verification page, and certificates submitted to e-Devlet over SOAP.

  5. 05

    Store, shipping and e-Archive

    Catalogue with variants, campaign and coupon rules, stock movements, returns; barcodes and tracking via the MNG Kargo API, and UBL e-Archive invoices through Uyumsoft — enabled in production.

  6. 06

    Governance

    Units, terms, mandates, board and committee assignments, meetings, ethics-board operations, an org-chart PDF and an accreditation case workflow.

  7. 07

    Career pool

    A career space where members join with a private CV and employers post opportunities; CV sharing sits behind a legal-approval flag.

  8. 08

    Support and notifications

    Ticket queue with auto-assign and auto-close, reply templates, satisfaction scoring; email via Resend, SMS via Mutlucell, editable templates and bulk sends.

05 — Impact

  • 01

    Membership, dues, training, store and governance now share one data model.

  • 02

    Records, dues history and documents moved off the legacy membership system without inventing a single value.

  • 03

    Shipping and e-Archive integrations are live; order, label and invoice run in one flow.

  • 04

    The PDOK and EPDAB sub-sites share the same CMS pattern and run on their own databases.

50+
modules on one platform
726
API route definitions
93
admin panel sections
10
staff roles
5
separate database schemas
3
live sites on the same foundation

Technology stack

Frontend

  • Next.js 15.5
  • React 19
  • Tailwind 4
  • Recharts

Backend

  • Node.js
  • Express
  • TypeScript
  • Sequelize
  • Zod

Data

  • MySQL 8.4
  • MinIO (S3)

Documents

  • Puppeteer
  • pdfkit
  • ExcelJS
  • sharp

Infrastructure

  • Docker Swarm
  • Portainer
  • Nginx Proxy Manager
  • Bitbucket Pipelines
  • Uptime Kuma
Next system · 06Bir FinansCurrent accounts, invoices, cheques and a quota engine on a double-entry ledger.