NIA is an artificial intelligence assistant designed for language learning and speaking skill development. By leveraging OpenAI's powerful language models, NIA provides an interactive and personalized learning experience, adapting to each user's needs and helping them practice any language they choose.
- Voice-based AI Conversations
- Multi-language Support (English, Spanish, Catalan)
- Real-time Chat Interface
- Social Authentication (Google, Facebook, Apple)
- User Profiles
- Low-latency Audio Processing
- Cross-platform Support
- Chat History Timeline
- Advanced Language Analytics
lib/
βββ common_widgets/ # Reusable UI components
βββ constants/ # App-wide constants
βββ features/
β βββ authentication/ # Auth-related screens and logic
β βββ core/ # Main app features
β βββ onboarding/ # User onboarding
βββ repository/ # Data layer
βββ routing/ # Navigation
βββ utils/ # Helpers and utilities
- Flutter SDK
- Dart SDK
- Firebase project setup
- OpenAI API key
# Clone the repository
git clone https://github.com/bielcarpi/nia.git
# Install dependencies
flutter pub get
# Run the app
flutter run
- Add Firebase configuration files:
google-services.json
for AndroidGoogleService-Info.plist
for iOS
- Update Firebase settings in
firebase_options.dart
- Configure API endpoints in repository classes
NIA uses the GetX framework for state management and follows a clean architecture pattern:
- Features: Modular app functionality
- Repository: Data management
- Routing: Navigation with middleware
- Utils: Helper functions
This app works in conjunction with NIA Backend for audio processing and OpenAI integration.