Go to file
鄭沛軒 7ce6057fd5 refactor: reorganize function specs by platform (mobile/web/common)
## 🏗️ Platform-based Architecture Restructure

### Directory Structure Changes
- **mobile/**: Mobile-specific specifications (5 complete function specs)
- **web/**: Web-specific specifications (1 complete, 4 planned)
- **common/**: Cross-platform shared specifications (3 core docs)
- **Platform mapping**: Complete correspondence table between platforms

### New Cross-platform Common Specifications
- 業務規則.md: Shared business logic (life points, economy, achievements)
- 數據模型.md: Unified data models (User, Vocabulary, Dialogue, etc.)
- API規格.md: Platform-agnostic API specifications

### Web Platform Specifications (Sample)
- 詞彙學習功能規格_Web.md: Complete web vocabulary learning spec
- Enhanced features: keyboard shortcuts, multi-tab support, advanced analytics
- UI naming: Page_*_W format (vs Mobile UI_* format)

### Platform Correspondence System
- 平台功能對應表.md: Complete mobile-web feature mapping
- Functionality overlap: 85-100% feature parity
- Platform-specific features: 6 mobile-only, 7 web-only features
- Development priority matrix and sync strategies

### Benefits for AI Collaboration
- **Token efficiency**: 50%+ reduction by loading platform-specific specs
- **Context clarity**: Eliminates mixed-platform logic confusion
- **Maintenance**: Independent platform updates without cross-contamination
- **Scalability**: Ready for future platform additions

### Mobile App Development Progress
- Added comprehensive Flutter dialogue feature implementation
- Voice recognition service and provider setup
- Complete dialogue UI component library
- Updated app router and dependencies

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-09 15:47:05 +08:00
.claude refactor: reorganize function specs by platform (mobile/web/common) 2025-09-09 15:47:05 +08:00
.github feat: add GitHub Actions CI/CD pipeline and PR templates 2025-09-05 21:51:47 +08:00
docs refactor: reorganize function specs by platform (mobile/web/common) 2025-09-09 15:47:05 +08:00
projects/templates docs: integrate Claude documentation and implement project management system 2025-09-08 17:20:45 +08:00
reports feat: complete comprehensive function specifications for 02_design 2025-09-09 03:37:20 +08:00
scripts docs: update system analysis reports and project management 2025-09-09 02:30:23 +08:00
src refactor: reorganize function specs by platform (mobile/web/common) 2025-09-09 15:47:05 +08:00
tools docs: update system analysis reports and project management 2025-09-09 02:30:23 +08:00
.gitignore docs: add Chinese documentation guide and update structure 2025-09-05 22:16:48 +08:00
CLAUDE.md docs: update system analysis reports and project management 2025-09-09 02:30:23 +08:00
ISSUES.md feat: complete comprehensive function specifications for 02_design 2025-09-09 03:37:20 +08:00
PROJECTS.md refactor: reorganize function specs by platform (mobile/web/common) 2025-09-09 15:47:05 +08:00
README.md feat: initial project setup with comprehensive documentation 2025-09-05 21:45:07 +08:00
dl docs: integrate Claude documentation and implement project management system 2025-09-08 17:20:45 +08:00
swagger-ui.html feat: complete mobile app function specifications and API documentation 2025-09-09 15:38:18 +08:00

README.md

Drama Ling

AI-powered language learning dialogue practice application with immersive scenario-based conversations.

📱 Project Overview

Drama Ling combines AI analysis with gamified learning mechanics to help users improve their language communication skills through realistic dialogue scenarios.

Key Features

  • 🎭 Scenario-based Dialogues: Practice real-life conversations in various contexts
  • 🤖 AI Analysis: Get instant feedback on grammar, semantics, and fluency
  • 🎮 Gamification: Rankings, achievements, and progress tracking
  • 📚 Smart Vocabulary Review: Spaced repetition algorithm for optimal learning
  • 💬 Interactive Practice: Voice and text input with real-time responses

🛠 Tech Stack

Frontend (Mobile)

  • Framework: Flutter 3.16+
  • Language: Dart 3.0+
  • State Management: Riverpod
  • Navigation: Go Router
  • Local Storage: Hive / Isar
  • Networking: Dio + Retrofit

Backend (API)

  • Framework: .NET 8 Web API
  • Language: C# 12
  • ORM: Entity Framework Core
  • Database: PostgreSQL 15+
  • Cache: Redis 7+
  • Authentication: JWT + ASP.NET Core Identity

Infrastructure

  • Cloud: AWS (ECS, RDS, S3, CloudFront)
  • CI/CD: GitHub Actions
  • Monitoring: Sentry, DataDog
  • Analytics: Custom analytics pipeline

🏗 Project Structure

dramaling-app/
├── docs/                    # Project documentation
│   ├── design/             # Design specifications
│   ├── technical/          # Technical documentation  
│   └── development/        # Development guides
├── mobile/                 # Flutter mobile app
│   ├── lib/
│   │   ├── features/       # Feature modules
│   │   ├── shared/         # Shared components
│   │   └── core/           # Core utilities
├── backend/                # .NET Core API
│   ├── DramaLing.Api/      # Web API project
│   ├── DramaLing.Core/     # Business logic
│   └── DramaLing.Infrastructure/ # Data access
├── infrastructure/         # Infrastructure as Code
└── scripts/               # Development scripts

🚀 Quick Start

Prerequisites

  • Flutter 3.16+
  • Dart 3.0+
  • .NET 8 SDK
  • PostgreSQL 15+
  • Redis 7+

Development Setup

  1. Clone the repository

    git clone https://github.com/your-username/dramaling-app.git
    cd dramaling-app
    
  2. Backend Setup

    cd backend
    dotnet restore
    dotnet ef database update
    dotnet run --project DramaLing.Api
    
  3. Mobile Setup

    cd mobile
    flutter pub get
    flutter pub run build_runner build
    flutter run
    
  4. Environment Configuration

    cp .env.example .env
    # Edit .env with your configuration
    

📚 Documentation

🔄 Development Workflow

  1. Create feature branch from develop
  2. Make changes following coding standards
  3. Write tests for new functionality
  4. Create Pull Request with description
  5. Code review and approval
  6. Merge to develop branch

🧪 Testing

# Backend tests
cd backend
dotnet test

# Mobile tests  
cd mobile
flutter test
flutter integration_test

📦 Deployment

Staging

Production

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read CONTRIBUTING.md for details on our code of conduct and development process.

📄 License

This project is proprietary software. All rights reserved.

🙋‍♂️ Support


Built with ❤️ by the Drama Ling Team