Skip to content

AI Data Science Learning App ๐Ÿค–๐Ÿ“Š A beautiful, gamified Flutter app for learning AI and Data Science from beginner to advanced levels. Built with a Duolingo-inspired UI and powered by AI-generated content.

License

Notifications You must be signed in to change notification settings

OpenData4Sciece/learn-ai-data-science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AI Data Science Learning App ๐Ÿค–๐Ÿ“Š

A beautiful, gamified Flutter app for learning AI and Data Science from beginner to advanced levels. Built with a Duolingo-inspired UI and powered by AI-generated content.

Platform Flutter License

AI Data Science Learning App

Click here to watch the full video on YouTube โ†’

๐Ÿ“ฑ Features

๐ŸŽ“ Comprehensive Learning Path

  • Beginner to Expert: Progressive learning modules from Python basics to advanced Deep Learning
  • Multiple Topics: Python, Pandas, NumPy, Matplotlib, Scikit-Learn, PyTorch, FastAPI, Statistics, NLP, and more
  • AI-Generated Content: Lessons, code examples, and quizzes generated by local LLMs
  • Interactive Lessons: Code examples, explanations, quizzes, and hands-on projects

๐ŸŽฎ Gamification

  • XP System: Earn experience points for completing lessons and achieving milestones
  • Level Progression: Advance through levels as you learn
  • Streak Tracking: Maintain daily learning streaks with fire indicators ๐Ÿ”ฅ
  • Achievements: Unlock badges for reaching milestones
  • Daily Goals: Set and track daily XP targets

๐ŸŽจ Beautiful UI/UX

  • Duolingo-Inspired: Clean, modern, and addictive interface
  • Smooth Animations: Delightful micro-interactions using flutter_animate
  • Progress Visualization: Clear progress bars, charts, and stats
  • Dark/Light Themes: Comfortable learning at any time of day
  • Responsive Design: Optimized for all iOS devices

๐Ÿ“š Content Areas

Python Fundamentals

  • Variables, Data Types, Operators
  • Lists, Dictionaries, Sets
  • Functions and Modules
  • File I/O and Exception Handling

Data Analysis

  • Pandas: DataFrames, Data Cleaning, Aggregation
  • NumPy: Arrays, Mathematical Operations
  • Matplotlib: Data Visualization
  • Seaborn: Statistical Plots

Machine Learning

  • Scikit-Learn: Classification, Regression, Clustering
  • Model Evaluation: Metrics, Cross-Validation
  • Feature Engineering: Preprocessing, Selection

Deep Learning

  • PyTorch: Tensors, Neural Networks, Training
  • CNN: Image Classification
  • RNN/LSTM: Sequence Models
  • Transfer Learning: Pre-trained Models

Statistics

  • Descriptive Statistics
  • Probability Distributions
  • Hypothesis Testing
  • Statsmodels: Statistical Modeling

ML Engineering

  • FastAPI: Building ML APIs
  • Model Deployment
  • MLOps Best Practices

Natural Language Processing

  • Text Preprocessing
  • Word Embeddings
  • Transformers
  • Sentiment Analysis

๐Ÿ—๏ธ Architecture

Tech Stack

  • Framework: Flutter 3.0+
  • State Management: Riverpod
  • Local Storage: Hive + SharedPreferences
  • AI Integration: Local LLM (Ollama) for content generation
  • Animations: flutter_animate
  • Code Highlighting: flutter_highlighting
  • Charts: fl_chart
  • Notifications: flutter_local_notifications

Project Structure

lib/
โ”œโ”€โ”€ main.dart                 # App entry point
โ”œโ”€โ”€ models/                   # Data models
โ”‚   โ”œโ”€โ”€ user_progress.dart   # User stats & progress
โ”‚   โ”œโ”€โ”€ lesson.dart          # Lesson structure
โ”‚   โ”œโ”€โ”€ learning_module.dart # Module structure
โ”‚   โ””โ”€โ”€ achievement.dart     # Achievement system
โ”œโ”€โ”€ providers/               # Riverpod state providers
โ”‚   โ””โ”€โ”€ user_progress_provider.dart
โ”œโ”€โ”€ screens/                 # UI screens
โ”‚   โ”œโ”€โ”€ splash_screen.dart
โ”‚   โ”œโ”€โ”€ onboarding_screen.dart
โ”‚   โ”œโ”€โ”€ home_screen.dart
โ”‚   โ”œโ”€โ”€ learning_path_screen.dart
โ”‚   โ”œโ”€โ”€ lesson_screen.dart
โ”‚   โ”œโ”€โ”€ profile_screen.dart
โ”‚   โ””โ”€โ”€ achievements_screen.dart
โ”œโ”€โ”€ widgets/                 # Reusable components
โ”‚   โ”œโ”€โ”€ stat_card.dart
โ”‚   โ”œโ”€โ”€ streak_widget.dart
โ”‚   โ”œโ”€โ”€ daily_goal_widget.dart
โ”‚   โ””โ”€โ”€ module_card.dart
โ”œโ”€โ”€ services/                # Business logic
โ”‚   โ”œโ”€โ”€ ai_content_service.dart  # AI content generation
โ”‚   โ”œโ”€โ”€ storage_service.dart     # Local storage
โ”‚   โ””โ”€โ”€ notification_service.dart # Push notifications
โ”œโ”€โ”€ data/                    # Static data
โ”‚   โ””โ”€โ”€ learning_content.dart   # Pre-generated content
โ””โ”€โ”€ utils/                   # Utilities
    โ””โ”€โ”€ app_theme.dart       # Theme configuration

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK 3.0 or higher
  • Xcode 14+ (for iOS)
  • Cocoapods
  • Ollama (optional, for AI content generation)

Installation

  1. Clone the repository
git clone <repository-url>
cd learn-ai-data-science
  1. Install dependencies
flutter pub get
  1. Generate code (for Hive and Riverpod)
flutter pub run build_runner build --delete-conflicting-outputs
  1. Run the app
# For iOS
flutter run -d ios

# For iOS Simulator
flutter run -d "iPhone 14 Pro"

AI Content Generation Setup (Optional)

To enable AI-generated content:

  1. Install Ollama
# macOS
brew install ollama

# Or download from https://ollama.ai
  1. Start Ollama server
ollama serve
  1. Pull a model
# Recommended models:
ollama pull llama3.2    # Balanced performance
ollama pull phi3        # Faster, lightweight
ollama pull mistral     # High quality
  1. Configure the app The app will automatically connect to http://localhost:11434 for content generation.

๐Ÿ“– How to Use

First Launch

  1. Onboarding: Swipe through the feature introduction
  2. Set Daily Goal: Choose your daily XP target (default: 50 XP)
  3. Start Learning: Pick your first module!

Learning Flow

  1. Choose a Module: Browse topics from Python basics to advanced ML
  2. Complete Lessons: Read tutorials, write code, take quizzes
  3. Earn XP: Gain experience points for each completed lesson
  4. Track Progress: Monitor your streak, level, and achievements
  5. Daily Practice: Return daily to maintain your streak!

Gamification Elements

XP (Experience Points)

  • Tutorial lessons: 20-60 XP
  • Practice exercises: 15-45 XP
  • Quizzes: 25-75 XP
  • Projects: 50-150 XP
  • Difficulty multipliers apply

Levels

  • Level up every 100 XP
  • Unlock new modules and features
  • Show off your progress

Streaks

  • Learn every day to build streaks
  • Get notified to maintain your streak
  • Earn bonus XP for milestone streaks

Achievements

  • First Lesson: Complete your first lesson
  • Week Warrior: 7-day streak
  • Monthly Master: 30-day streak
  • Python Expert: Master Python fundamentals
  • XP Champion: Earn 1000 total XP
  • And many more!

๐ŸŽจ Customization

Theme Colors

Edit lib/utils/app_theme.dart to customize:

  • Primary colors
  • Text styles
  • Component styles
  • Gradients

Content

Add custom lessons in lib/data/learning_content.dart or use the AI service to generate new content.

Daily Goals

Users can customize their daily XP goals in the Profile screen.

๐Ÿงช Testing

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

# Integration tests
flutter drive --target=test_driver/app.dart

๐Ÿ“ฆ Building for Release

iOS

  1. Update version in pubspec.yaml

  2. Build for release

flutter build ios --release
  1. Archive in Xcode
  • Open ios/Runner.xcworkspace in Xcode
  • Product > Archive
  • Distribute to App Store

๐Ÿ”ฎ App Roadmap

v1.1

  • Full lesson viewer with interactive code execution
  • Voice-over support for lessons
  • More achievement types
  • Social features (share progress)

v1.2

  • Practice playground with Python interpreter
  • Video lessons
  • Community challenges
  • Leaderboards

v1.3

  • Android support
  • Offline AI models
  • Custom learning paths
  • Spaced repetition system

v2.0

  • Real-time code collaboration
  • Mentorship system
  • Certificate generation
  • Job board integration

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

๐Ÿ‘จโ€๐Ÿ’ป Author

Created with โค๏ธ by Pierre-Henry Soria

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Happy Learning! ๐Ÿš€๐Ÿ“š

Made with Flutter ๐Ÿ’™ and AI ๐Ÿค–

About

AI Data Science Learning App ๐Ÿค–๐Ÿ“Š A beautiful, gamified Flutter app for learning AI and Data Science from beginner to advanced levels. Built with a Duolingo-inspired UI and powered by AI-generated content.

Topics

Resources

License

Stars

Watchers

Forks

Languages