Werte durch Geschichten lernen - Teaching children values and behavioral skills through interactive multilingual stories.
A non-profit educational microwebsite designed for children ages 3-7, helping them learn important life skills through engaging stories. Built for parents, teachers, and KiTA caretakers in Germany.
- π©πͺ German (Deutsch) - Primary language
- πΈπ¦ Arabic (Ψ§ΩΨΉΨ±Ψ¨ΩΨ©) - RTL support
- π¬π§ English
- πΉπ· Turkish (TΓΌrkΓ§e)
- π΅π° Urdu (Ψ§Ψ±Ψ―Ω) - RTL support
- π Interactive Stories - Engaging narratives with TTS narration and page-flipping animations
- π― 58-Skill Taxonomy - Stories mapped to emotional, social, cognitive, and behavioral skills
- π¨ Multiple Formats - Standard text-based and interactive storybook modes
- π§ Text-to-Speech - Browser-based narration with word highlighting
- π± Mobile-First - Fully responsive design optimized for all devices
- βΏ Accessibility - WCAG 2.1 AA compliant with keyboard navigation and screen reader support
- π RTL Support - Right-to-left layout for Arabic and Urdu
- π Advanced Filtering - Search by skills, language, difficulty, and keywords
- π Print Mode - Booklet-friendly layout for offline reading
- π Fast & Lightweight - Static site generation with minimal JavaScript
- π Privacy-First - No user accounts, no tracking, GDPR-friendly
- Framework: Astro - Static site generation
- Styling: Scoped CSS with RTL support
- Interactivity: Vanilla JavaScript (Web Speech API, Swiper.js)
- Content: Markdown with YAML frontmatter
- Deployment: GitHub Pages with GitHub Actions
- Font: Noto Sans (comprehensive language coverage)
- Node.js 24.x or higher
- npm or yarn
# Clone the repository
git clone https://github.com/ahashem/lernen-mit-geschichten.git
cd lernen-mit-geschichten
# Install dependencies
npm install
# Start development server
npm run devnpm run dev # Start development server at http://localhost:4321
npm run build # Build for production
npm run preview # Preview production build locallyβββ src/
β βββ components/ # Reusable Astro components
β β βββ StoryCard.astro
β β βββ InteractiveStorybook.astro
β β βββ QuizInteractive.astro
β β βββ ...
β βββ content/
β β βββ stories/ # Markdown stories by language
β β βββ de/ # German stories
β β βββ ar/ # Arabic stories
β β βββ en/ # English stories
β β βββ tr/ # Turkish stories
β β βββ ur/ # Urdu stories
β βββ layouts/
β β βββ BaseLayout.astro
β β βββ StoryLayout.astro
β βββ locales/ # i18n JSON files
β β βββ de.json
β β βββ ar.json
β β βββ ...
β βββ utils/
β βββ skills-taxonomy.ts
β βββ i18n.ts
βββ public/ # Static assets
βββ .github/workflows/ # GitHub Actions
βββ astro.config.mjs # Astro configuration
Stories are mapped to 58 skills across 4 categories:
Self-awareness, emotional regulation, empathy, patience, impulse control
Communication, cooperation, conflict resolution, leadership, respect
Problem-solving, decision-making, critical thinking, adaptability, goal-setting
Responsibility, honesty, persistence, self-discipline, time management
- Narrative text
- Key messages
- Interactive activities (true/false, multiple choice, fill-in-the-blank)
- Page-by-page storytelling with Swiper.js
- Text-to-Speech narration with Web Speech API
- Floating control island (play/pause, speed, volume)
- Auto-play mode
- Progress tracking (localStorage)
This project is configured for automatic deployment to GitHub Pages:
- Automatic Deployment: Every push to
maintriggers a build via GitHub Actions - Live URL:
https://ahashem.github.io/lernen-mit-geschichten/ - Setup: Enable GitHub Pages in repository settings β Pages β Source: GitHub Actions
npm run build
# Deploy the dist/ folder to your hosting providerContributions are welcome! This is a community-driven educational project.
- Translate stories to additional languages
- Add new stories following the content format guidelines
- Improve accessibility features
- Report bugs or suggest features
Please see CONTRIBUTING.md for detailed contribution guidelines.
- Stories should target ages 3-7
- Each story maps to 1-3 skills from the taxonomy
- Include 3 activity types: true/false, multiple choice, fill-in-the-blank
- Professional translation required (no machine translation)
- RTL layout must be tested for Arabic/Urdu
- Code: MIT License - Free to use and modify
- Content: CC BY-NC-SA 4.0 - Non-commercial use with attribution
- Built with Astro
- Icons and emojis for character representation
- Noto Sans font family
- Community translators and contributors
- Issues: GitHub Issues
- Discussions: GitHub Discussions