Skip to content

Latest commit

Β 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lernen mit Geschichten

Deploy to GitHub Pages License: MIT Content License: CC BY-NC-SA 4.0 Node.js Version Built with Astro Multilingual

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.

🌍 Supported Languages

  • πŸ‡©πŸ‡ͺ German (Deutsch) - Primary language
  • πŸ‡ΈπŸ‡¦ Arabic (Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©) - RTL support
  • πŸ‡¬πŸ‡§ English
  • πŸ‡ΉπŸ‡· Turkish (TΓΌrkΓ§e)
  • πŸ‡΅πŸ‡° Urdu (اردو) - RTL support

✨ Features

  • πŸ“š 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

πŸ› οΈ Tech Stack

  • 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)

πŸš€ Getting Started

Prerequisites

  • Node.js 24.x or higher
  • npm or yarn

Installation

# 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 dev

Available Scripts

npm run dev       # Start development server at http://localhost:4321
npm run build     # Build for production
npm run preview   # Preview production build locally

πŸ“‚ Project Structure

β”œβ”€β”€ 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

πŸŽ“ Skills Taxonomy

Stories are mapped to 58 skills across 4 categories:

🎭 Emotional Skills

Self-awareness, emotional regulation, empathy, patience, impulse control

🀝 Social Skills

Communication, cooperation, conflict resolution, leadership, respect

🧠 Cognitive Skills

Problem-solving, decision-making, critical thinking, adaptability, goal-setting

🌱 Behavioral Skills

Responsibility, honesty, persistence, self-discipline, time management

πŸ“– Story Format

Standard Format

  • Narrative text
  • Key messages
  • Interactive activities (true/false, multiple choice, fill-in-the-blank)

Interactive Format

  • 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)

πŸš€ Deployment

GitHub Pages

This project is configured for automatic deployment to GitHub Pages:

  1. Automatic Deployment: Every push to main triggers a build via GitHub Actions
  2. Live URL: https://ahashem.github.io/lernen-mit-geschichten/
  3. Setup: Enable GitHub Pages in repository settings β†’ Pages β†’ Source: GitHub Actions

Manual Deployment

npm run build
# Deploy the dist/ folder to your hosting provider

🀝 Contributing

Contributions are welcome! This is a community-driven educational project.

Ways to Contribute:

  • 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.

πŸ“‹ Content 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

πŸ“„ License

πŸ™ Acknowledgments

  • Built with Astro
  • Icons and emojis for character representation
  • Noto Sans font family
  • Community translators and contributors

πŸ“ž Contact & Support

About

lernen mit geschichten

Resources

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages