Thanks to visit codestin.com
Credit goes to github.com

Skip to content

suarja/FourmiMobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FourmiMobile - Financial Education Quest System

A React Native financial education app built with Domain Driven Design

FourmiMobile transforms financial management into an engaging quest-based learning experience. Users progress through guided educational quests that combine data collection, AI-powered analysis, and personalized financial insights.

Built with Ignite React Native boilerplate, implementing Domain Driven Design (DDD) and Test Driven Development (TDD).

Quest System Overview

Core Concept

Each Quest combines:

  • 🎬 Educational scenarios - Contextual financial guidance
  • 📝 Data collection - Forms or voice input with AI validation
  • 🤖 Smart analysis - AI-powered insights and recommendations
  • 📊 Profile updates - Dynamic financial health tracking
  • 🎯 Progression - XP rewards and feature unlocking

Architecture

  • Domain Driven Design with 3 bounded contexts (User Progression, Financial Data, Project Management)
  • Use Cases pattern for cross-context orchestration
  • Value Objects for type-safe financial calculations
  • Test Driven Development with comprehensive coverage

Getting Started

Development Setup

pnpm install              # Install dependencies
pnpm start                # Start Expo development server
pnpm run ios              # Run on iOS simulator
pnpm run android          # Run on Android emulator

Building

pnpm run build:ios:sim    # Build for iOS simulator
pnpm run build:ios:dev    # Build for iOS device (development)
pnpm run build:android:sim # Build for Android simulator

Testing & Quality

pnpm test                 # Run Jest test suite
pnpm run test:watch       # Run tests in watch mode
pnpm run lint             # Run ESLint with auto-fix
pnpm run compile          # TypeScript type checking
pnpm run test:maestro     # Run E2E tests

Project Structure

DDD Layer Organization

app/
├── components/          # Reusable UI components (Ignite standard)
├── screens/            # Screen components with i18n and theming
├── navigators/         # TypeScript-strict navigation
├── services/           # Application layer services
├── context/            # React context providers
├── domain/             # Domain layer (aggregates, value objects)
├── application/        # Use cases and application services
└── infrastructure/     # External adapters (Convex, PostHog)

Feature Development

Every feature requires documentation before code:

docs/features/[FEATURE_NAME]/
├── requirements.md          # User stories and acceptance criteria
├── roadmap.md              # Step-by-step implementation plan
└── technical-design.md     # Architecture decisions and API contracts

Key Technologies

  • Framework: React Native with Expo + Ignite boilerplate
  • Language: TypeScript with strict mode
  • Architecture: Domain Driven Design (DDD) with Use Cases pattern
  • Testing: Jest + Maestro E2E testing
  • Analytics: PostHog with privacy-first approach
  • Backend: Convex (flexible, may evolve)
  • State: React Context + MMKV for persistence

Development Methodology

TDD + DDD Approach

  1. Feature Documentation First - Requirements and roadmap before any code
  2. Red-Green-Refactor - Write failing tests, minimal implementation, refactor
  3. Domain-Centric Design - Business logic in aggregates, orchestration in Use Cases
  4. Frequent Commits - One commit per sub-step with descriptive messages

Code Conventions

  • Internationalization: All user text via tx prop: <Text tx="welcomeScreen.title" />
  • Theming: Use useAppTheme() hook, automatic light/dark mode support
  • Navigation: TypeScript-strict with param lists in AppNavigator.tsx
  • Import Paths: @/ for app code, @assets/ for assets

Analytics & Privacy

  • PostHog Integration: Track user journeys and quest progression
  • Privacy-First: No sensitive financial data in analytics
  • GDPR Compliance: User consent management and data export/deletion

Quest System Flow

🎯 User starts quest → 📖 Educational content → 📝 Data input (form/voice) 
    ↓
🤖 AI validation → 👤 Human approval → 💾 Profile update → 🏆 XP reward

Domain Boundaries

  • User Progression: Quests, steps, XP, feature unlocking
  • Financial Data: Budget, income/expenses, AI fact extraction
  • Project Management: Real estate analysis, debt consolidation

Development Resources

  • Domain Documentation: docs/plan/DOMAIN_MODEL_DDD.md
  • Implementation Plan: docs/plan/IMPLEMENTATION_ROADMAP.md
  • Claude Instructions: CLAUDE.md (for AI pair programming)
  • Ignite Docs: Official documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published