A mobile application that brings the German Bundestag to citizens’ smartphones, allowing them to vote on parliamentary procedures and compare their choices with official results.
corepack enable or npm install -g pnpmClone the repository:
git clone https://github.com/democracy-deutschland/democracy-client.git
cd democracy-client
Install dependencies:
pnpm install
Generate GraphQL types:
pnpm codegen
Start the development server:
pnpm start
Run on specific platforms:
pnpm ios # Run on iOS simulator
pnpm android # Run on Android emulator
pnpm lint:tspnpm lintpnpm doctorThe project uses Maestro for end-to-end testing. See Testing Documentation for more information.
Run tests with:
pnpm test:e2e # Run all E2E tests
pnpm test:e2e:smoke # Run smoke tests only
pnpm test:e2e:verification # Run verification flow tests only
This project uses fastlane for both iOS and Android deployments.
src/
app/ - Expo Router app directorycomponents/ - Reusable componentsscreens/ - Screen componentsapi/ - API and state management__generated__/ - Generated GraphQL typeshooks/ - Custom React hookslib/ - Utility functionsdata/ - Static data filestypes/ - Type definitionsstyles/ - Theme and styling configurations.github/ - GitHub workflows and CI configuration.maestro/ - E2E testsdeploy/ - Deployment configurations
android/ - Android deployment settings and fastlane setupios/ - iOS deployment settings and fastlane setupassets/ - Static assetsFor a detailed explanation of the application architecture, see Architecture Documentation.
Apache License 2.0