Skip to content
/ nia Public

A Flutter-based AI language learning assistant powered by GPT-4o. Practice speaking any language through natural conversations with an AI companion. πŸŽ™οΈπŸŒ

Notifications You must be signed in to change notification settings

bielcarpi/nia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

94 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.

About

A Flutter-based AI language learning assistant powered by GPT-4o. Practice speaking any language through natural conversations with an AI companion. πŸŽ™οΈπŸŒ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages