Skip to content

Latest commit

Β 

History

History
85 lines (73 loc) Β· 2.68 KB

README.md

File metadata and controls

85 lines (73 loc) Β· 2.68 KB

NIA Logo

NIA - Your AI Language Learning Assistant

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.

Features

  • 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

Project Structure

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

Getting Started

Prerequisites

  • Flutter SDK
  • Dart SDK
  • Firebase project setup
  • OpenAI API key

Installation

# Clone the repository
git clone https://github.com/bielcarpi/nia.git

# Install dependencies
flutter pub get

# Run the app
flutter run

Configuration

  1. Add Firebase configuration files:
    • google-services.json for Android
    • GoogleService-Info.plist for iOS
  2. Update Firebase settings in firebase_options.dart
  3. Configure API endpoints in repository classes

Architecture

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

Backend Integration

This app works in conjunction with NIA Backend for audio processing and OpenAI integration.