# 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** ```bash git clone https://github.com/your-username/dramaling-app.git cd dramaling-app ``` 2. **Backend Setup** ```bash cd backend dotnet restore dotnet ef database update dotnet run --project DramaLing.Api ``` 3. **Mobile Setup** ```bash cd mobile flutter pub get flutter pub run build_runner build flutter run ``` 4. **Environment Configuration** ```bash cp .env.example .env # Edit .env with your configuration ``` ## ๐Ÿ“š Documentation - [๐Ÿ“‹ Project Roadmap](docs/development/project-roadmap.md) - [๐Ÿ”ง Technical Architecture](docs/technical/) - [๐ŸŽจ Design Guidelines](docs/design/) - [๐Ÿ‘จโ€๐Ÿ’ป Development Workflow](docs/development/development-workflow.md) - [๐Ÿ“– API Documentation](docs/technical/api-specifications.md) ## ๐Ÿ”„ 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 ```bash # Backend tests cd backend dotnet test # Mobile tests cd mobile flutter test flutter integration_test ``` ## ๐Ÿ“ฆ Deployment ### Staging - Automatically deployed when `develop` branch is updated - Environment: https://staging-api.dramaling.com ### Production - Manually deployed from `main` branch - Environment: https://api.dramaling.com ## ๐Ÿค 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](CONTRIBUTING.md) for details on our code of conduct and development process. ## ๐Ÿ“„ License This project is proprietary software. All rights reserved. ## ๐Ÿ™‹โ€โ™‚๏ธ Support - ๐Ÿ“ง Email: dev@dramaling.com - ๐Ÿ’ฌ Slack: #dev-support - ๐Ÿ“ฑ Issues: [GitHub Issues](https://github.com/your-username/dramaling-app/issues) --- **Built with โค๏ธ by the Drama Ling Team**