Development Standards

This document consolidates development standards and workflow guidelines for the BATbern Event Management Platform. For detailed specifications, see the individual documents below.

Last updated: December 20, 2025 Reading time: 4 minutes File size: 5.38 KB

Core Standards Documents

The development standards are organized into three core documents:

πŸ“‹ Coding Standards

Comprehensive coding standards, naming conventions, and quality guidelines:

  • Critical fullstack rules and conventions
  • Git workflow and commit message formats
  • Code review checklist and testing standards
  • Documentation requirements and performance targets

πŸ› οΈ Technology Stack

Complete technology stack specifications with versions and rationale:

  • Frontend, backend, and infrastructure technology choices
  • Development tools and testing frameworks
  • Browser support and IDE recommendations
  • Technology decision rationale and alternatives

πŸ“ Source Tree Structure

Project organization and directory structure guidelines:

  • Multi-repository DDD-based structure
  • Service and frontend directory layouts
  • Shared kernel and infrastructure organization
  • File naming conventions and integration points

Development Workflow

Local Development Setup

Prerequisites

bash
java --version          # Java 21 LTS
node --version         # Node.js 20+
docker --version       # Docker Desktop
aws --version          # AWS CLI v2
cdk --version          # AWS CDK v2.110+
gradle --version       # Gradle 8.5+

Initial Setup

bash
# Clone and setup shared kernel
cd shared-kernel
./gradlew publishToMavenLocal

# Setup infrastructure
cd infrastructure
npm install && npm run build

# Setup frontend
cd web-frontend
npm install && npm run build

# Setup each domain service
for service in event-management speaker-coordination partner-analytics attendee-experience company-management; do
  cd services/$service && ./gradlew build && cd ../..
done

# Start local environment
docker-compose up -d

Development Commands

bash
# Start all services
npm run dev:all

# Start individual services
npm run dev:frontend
npm run dev:event-management
# etc.

# Run tests
npm run test:all
npm run test:frontend
npm run test:backend
npm run test:integration
npm run test:e2e

Environment Configuration

Frontend Environment Variables

bash
VITE_API_BASE_URL=http://localhost:8080
VITE_COGNITO_USER_POOL_ID=eu-central-1_dev_pool
VITE_COGNITO_CLIENT_ID=dev_client_id
VITE_PWA_ENABLED=true
VITE_FEATURE_AI_RECOMMENDATIONS=true

Backend Environment Variables

bash
DB_HOST=localhost
DB_PORT=5432
DB_NAME=batbern_dev
AWS_REGION=eu-central-1
JWT_SECRET=dev-secret-key
COGNITO_USER_POOL_ID=eu-central-1_dev_pool
# Note: Caching is handled by Caffeine in-memory (no external cache service needed)

For New Developers

  1. Start Here: Technology Stack - Understand the technology choices
  2. Setup: Follow the Local Development Setup above
  3. TDD Practice: Read TDD Workflow Guide - MANDATORY for all development
  4. Coding: Review Coding Standards for conventions
  5. Structure: See Source Tree Structure for project organization

For Code Reviews

For Architecture Decisions

Test-Driven Development Process

TDD is Mandatory

All new features and bug fixes MUST follow Test-Driven Development practices. See TDD Workflow Guide for detailed instructions.

TDD Quick Reference

  1. RED: Write failing tests first
  2. GREEN: Write minimal code to pass tests
  3. REFACTOR: Improve code while keeping tests green

Coverage Requirements

  • Unit Tests: 90% for business logic
  • Integration Tests: 80% for APIs
  • Overall: 85% line coverage (enforced by CI/CD)

Development Process Overview

graph TD A[Setup Environment] --> B[Read Standards & TDD Guide] B --> C{New Feature?} C -->|Yes| D[Create Feature Branch] C -->|No| E[Create Hotfix Branch] D --> TDD[Write Tests First - RED] E --> TDD TDD --> F[Implement Code - GREEN] F --> REF[Refactor - REFACTOR] REF --> G[Run All Tests] G --> H{Tests Pass & Coverage Met?} H -->|No| TDD H -->|Yes| J[Create Pull Request] J --> K[Code Review - Verify TDD] K --> L{Approved?} L -->|No| TDD L -->|Yes| M[Merge to Develop] M --> N[Deploy to Staging] N --> O[E2E Tests] O --> P{Tests Pass?} P -->|No| Q[Fix Issues with TDD] Q --> TDD P -->|Yes| R[Deploy to Production]

This comprehensive development standards framework ensures consistency, quality, and maintainability across the entire BATbern platform development lifecycle. Each team member should familiarize themselves with all three core documents to maintain the high standards expected for this enterprise-grade event management platform.