Skip to content

hazzem-badran/kufea-showcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 

Repository files navigation

πŸ‰ Kufea - ΩƒΩˆΩΩŠΨ©

Celebrating Palestinian Identity Through Digital Innovation

A modern mobile application showcasing Palestinian culture, heritage, and folklore through an immersive and accessible experience.

React Native Expo TypeScript License


πŸ“– About

Kufea is a launch-ready MVP that brings Palestinian identity, folklore, and culture to life through a beautifully crafted mobile experience. The app provides an easy-to-explore platform featuring:

  • 🍽️ Traditional Palestinian Recipes - Authentic dishes with detailed instructions
  • 🎨 Bedouin Handicrafts - Showcasing traditional crafts and artistry
  • πŸ‘— Palestinian Thobe - Interactive map of regional embroidery patterns
  • πŸ“š Cultural Heritage - Stories, traditions, and historical context
  • 🌍 Multi-language Support - Full Arabic (RTL) and English localization

Built with scalability in mind, Kufea is designed to grow into a comprehensive platform with a web version and future e-commerce capabilities for culturally inspired products.


✨ Key Features

πŸ—οΈ Enterprise-Grade Architecture

  • Feature-based structure - Modular design for scalability and maintainability
  • Clear separation of concerns - UI, business logic, and data layers are distinct
  • Scalable patterns - Ready for team collaboration and future expansion

🎨 Modern User Experience

  • Professional theme system - Light & Dark mode with polished Zinc & Crimson palette
  • Consistent typography - Poppins font family with semantic variants
  • Smooth animations - React Native Reanimated for fluid interactions
  • Responsive design - Optimized for all screen sizes

🌐 Internationalization (i18n)

  • RTL Support - Native right-to-left layout for Arabic
  • Multi-language - Arabic, English, and French translations
  • Context-aware - Seamless language switching with persistent preferences

⚑ Performance Optimized

  • Efficient rendering - FlashList for optimized scrolling
  • Image optimization - Expo Image with caching
  • Fast storage - MMKV for lightning-fast data persistence
  • State management - Redux Toolkit with RTK Query for data fetching & caching

πŸ“± Cross-Platform

  • iOS & Android - Native performance on both platforms
  • New Architecture - Expo's new architecture enabled for better performance

πŸ› οΈ Tech Stack

Core

  • React Native 0.81.5 - Mobile framework
  • Expo ~54.0 - Development platform
  • TypeScript - Type safety and better DX
  • Expo Router - File-based navigation

State & Data

  • Redux Toolkit - State management
  • RTK Query - Data fetching & caching
  • MMKV - High-performance storage
  • AsyncStorage - Persistent settings

UI & Styling

  • React Native Reanimated - Advanced animations
  • Expo Vector Icons - Icon library
  • Expo Image - Optimized image handling
  • Linear Gradient - Beautiful gradients

Internationalization

  • i18next - Translation framework
  • react-i18next - React bindings with hooks

Developer Experience

  • ESLint - Code linting
  • Prettier - Code formatting
  • Husky - Git hooks
  • TypeScript - Static typing
  • pnpm - Fast package manager

πŸ“ Project Structure

kufea/
β”œβ”€β”€ app/                    # πŸ—ΊοΈ  Expo Router - File-based navigation
β”‚   β”œβ”€β”€ (tabs)/            # Tab-based screens
β”‚   β”œβ”€β”€ handicrafts/       # Handicrafts module routes
β”‚   β”œβ”€β”€ recipes/           # Recipes module routes
β”‚   β”œβ”€β”€ thobe/             # Thobe module routes
β”‚   └── _layout.tsx        # Root layout
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ features/          # 🎯 Feature modules (isolated & scalable)
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ handicrafts/
β”‚   β”‚   β”œβ”€β”€ home/
β”‚   β”‚   β”œβ”€β”€ recipes/
β”‚   β”‚   β”œβ”€β”€ settings/
β”‚   β”‚   └── thobe/
β”‚   β”‚
β”‚   β”œβ”€β”€ shared/            # πŸ”§ Shared resources
β”‚   β”‚   β”œβ”€β”€ ui/           # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ i18n/         # Localization system
β”‚   β”‚   β”œβ”€β”€ theme/        # Theme & design tokens
β”‚   β”‚   β”œβ”€β”€ hooks/        # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ utils/        # Helper functions
β”‚   β”‚   └── types/        # TypeScript definitions
β”‚   β”‚
β”‚   └── store.ts          # Redux store configuration
β”‚
β”œβ”€β”€ assets/               # 🎨 Static assets
β”‚   └── images/
β”‚
β”œβ”€β”€ docs/                 # πŸ“š Documentation
β”‚   β”œβ”€β”€ 01-PROJECT_STRUCTURE.md
β”‚   β”œβ”€β”€ 02-I18N_TRANSLATION.md
β”‚   └── 03-THOBE_MAP_DOCUMENTATION.md
β”‚
└── config files          # βš™οΈ  Configuration
    β”œβ”€β”€ app.json
    β”œβ”€β”€ tsconfig.json
    β”œβ”€β”€ eslint.config.js
    └── package.json

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and pnpm installed
  • Expo CLI (npm install -g expo-cli)
  • iOS Simulator (macOS) or Android Studio for development
  • Expo Go app (optional, for quick testing)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/kufea.git
    cd kufea
  2. Install dependencies

    pnpm install
  3. Start the development server

    pnpm start
  4. Run on a platform

    # iOS (macOS only)
    pnpm ios
    
    # Android
    pnpm android
    
    # Web
    pnpm web

Available Scripts

pnpm start          # Start Expo development server
pnpm ios            # Run on iOS simulator
pnpm android        # Run on Android emulator
pnpm web            # Run in web browser
pnpm lint           # Run ESLint
pnpm format         # Format code with Prettier
pnpm lint-format    # Format and lint in sequence
pnpm json-server    # Start mock API server (port 3001)

🎨 Design System

Color Palette

  • Primary: Crimson (#e11d48) - Sophisticated, professional
  • Neutrals: Zinc scale - Modern, warm-toned grays
  • Semantic: Success, Error, Warning, Info states

Typography

  • Font Family: Poppins (Regular, Medium, SemiBold, Bold, ExtraBold)
  • Scale: Caption (12px) β†’ Hero (48px)
  • Variants: hero, titleLg, title, subtitle, bodyLg, body, caption

Spacing System

  • xs: 4px, sm: 8px, md: 16px, lg: 24px, xl: 32px, xxl: 48px

Border Radius

  • sm: 4px, md: 8px, lg: 12px, xl: 16px, xxl: 24px, round: 9999px

🌍 Localization

Kufea supports full internationalization with:

  • Arabic (ar) - Primary language with RTL support
  • English (en) - Secondary language
  • French (fr) - Additional language

Language is persisted across sessions and can be changed in Settings.

Translation files: src/shared/i18n/locales/


πŸ“± Features Breakdown

Home

  • Featured stories and content
  • Quick access to all categories
  • Culturally immersive hero section

Recipes

  • Browse traditional Palestinian recipes
  • Filter by difficulty and cooking time
  • Step-by-step instructions with ingredients
  • Beautiful imagery and cultural context

Handicrafts

  • Explore Bedouin crafts and traditional arts
  • Learn about historical significance
  • Visual gallery of craftsmanship

Palestinian Thobe

  • Interactive map of Palestine showing regional designs
  • Detailed embroidery patterns by region
  • Cultural and historical background

Settings

  • Theme switching (Light/Dark)
  • Language selection with instant switching
  • App version and about information

πŸ—ΊοΈ Roadmap

Phase 1: MVP βœ… (In Progress)

  • Core navigation and routing
  • Theme system with dark mode
  • i18n with RTL support
  • Recipes feature with filtering
  • Palestinian Thobe interactive map
  • Handicrafts content integration
  • Polish animations and transitions

Phase 2: Content & Polish

  • Add comprehensive recipe database
  • Expand handicrafts gallery
  • Add user favorites/bookmarks
  • Implement search functionality
  • Add storytelling/folklore section

Phase 3: Web Platform

  • Responsive web version
  • SEO optimization
  • Progressive Web App (PWA) support
  • Content management system (CMS)

Phase 4: E-Commerce

  • Shop for culturally inspired products
  • Payment integration
  • Order management
  • User accounts and profiles

🀝 Contributing

This is a private project. If you'd like to contribute or collaborate, please reach out to the project maintainer.


πŸ“„ License

Private - All rights reserved.


πŸ‘¨β€πŸ’» Author

Hazem Badran


πŸ™ Acknowledgments

  • Palestinian heritage and culture that inspired this project
  • The React Native and Expo communities
  • All contributors to open-source libraries used in this project

Made with ❀️ for Palestinian Culture

Preserving heritage through innovation

About

Celebrating Palestinian Identity Through Digital Innovation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors