Development Standards
This document consolidates development standards and workflow guidelines for the BATbern Event Management Platform. For detailed specifications, see the individual documents below.
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
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
# 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
# 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
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
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)
Quick Reference Links
For New Developers
- Start Here: Technology Stack - Understand the technology choices
- Setup: Follow the Local Development Setup above
- TDD Practice: Read TDD Workflow Guide - MANDATORY for all development
- Coding: Review Coding Standards for conventions
- Structure: See Source Tree Structure for project organization
For Code Reviews
- Coding Standards - Code Review Checklist
- Coding Standards - Testing Standards
- Coding Standards - Performance Standards
For Architecture Decisions
- Technology Stack - Technology Decision Rationale
- Source Tree Structure - Integration Points
- Source Tree Structure - Key Directory Conventions
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
- RED: Write failing tests first
- GREEN: Write minimal code to pass tests
- 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
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.