Skip to content

AllienNova/Codopia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Codopia - Where Code Becomes Craft

A comprehensive coding education platform for children ages 3-18, featuring AI-powered tutoring, interactive learning environments, and tier-based curriculum progression.

🌟 Overview

Codopia transforms coding education through:

  • πŸ§™β€β™‚οΈ Professor Sparkle: AI tutor with Gemini Live voice interaction
  • 🎨 Three Learning Tiers: Age-appropriate progression from visual blocks to professional programming
  • πŸ”’ Enterprise Security: Supabase authentication with Row Level Security
  • πŸ“± Modern Stack: Next.js 15, TypeScript, Tailwind CSS, Flask backend

🎯 Learning Tiers

🎨 Magic Workshop (Ages 3-7)

  • Visual block coding with magical themes
  • Story-based learning adventures
  • Basic programming concepts through play
  • Lessons: Wizard Movement, Spell Patterns, Magical Decisions, Treasure Hunt, Magic Functions

πŸ”¬ Innovation Lab (Ages 8-12)

  • Advanced block coding and app development
  • Real-world problem solving
  • Collaborative projects and creativity
  • Lessons: First App, Data Detective, Game Creator, Robot Commander, Web Designer

πŸ’Ό Professional Studio (Ages 13-18)

  • Real programming languages (Python, JavaScript, etc.)
  • Software engineering principles
  • Career preparation and industry practices
  • Lessons: Python Fundamentals, OOP, Web Development, Mobile Apps, AI/ML, Career Prep

πŸ—οΈ Repository Structure

codopia-platform/
β”œβ”€β”€ README.md                  # This file
β”œβ”€β”€ LICENSE                    # MIT License
β”œβ”€β”€ .gitignore                # Comprehensive ignore rules
β”œβ”€β”€ requirements.txt          # Python dependencies
β”œβ”€β”€ package.json             # Node.js dependencies
β”‚
β”œβ”€β”€ backend/                 # Flask Backend
β”‚   β”œβ”€β”€ main.py             # Main Flask application
β”‚   β”œβ”€β”€ auth_service.py     # Authentication service
β”‚   β”œβ”€β”€ supabase_client.py  # Database client
β”‚   β”œβ”€β”€ professor_sparkle.py # AI integration
β”‚   β”œβ”€β”€ gemini_live_sparkle.py # Gemini Live API
β”‚   β”œβ”€β”€ templates/          # HTML templates
β”‚   β”‚   β”œβ”€β”€ index.html      # Homepage
β”‚   β”‚   β”œβ”€β”€ about.html      # About page
β”‚   β”‚   β”œβ”€β”€ features.html   # Features page
β”‚   β”‚   β”œβ”€β”€ pricing.html    # Pricing page
β”‚   β”‚   β”œβ”€β”€ academy.html    # Academy page
β”‚   β”‚   β”œβ”€β”€ magazine.html   # Magazine page
β”‚   β”‚   └── learning/       # Learning modules
β”‚   β”‚       └── magic_workshop.html
β”‚   └── static/             # Static assets
β”‚       β”œβ”€β”€ css/
β”‚       β”œβ”€β”€ js/
β”‚       └── images/
β”‚
β”œβ”€β”€ frontend/               # React/Next.js Frontend
β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”‚   β”œβ”€β”€ About.jsx
β”‚   β”‚   β”œβ”€β”€ Features.jsx
β”‚   β”‚   β”œβ”€β”€ Pricing.jsx
β”‚   β”‚   β”œβ”€β”€ Navigation.jsx
β”‚   β”‚   └── Footer.jsx
β”‚   β”œβ”€β”€ app/               # Next.js app directory
β”‚   β”œβ”€β”€ lib/               # Utility libraries
β”‚   β”œβ”€β”€ contexts/          # React contexts
β”‚   └── public/            # Public assets
β”‚
β”œβ”€β”€ docs/                  # Documentation
β”‚   β”œβ”€β”€ content/           # Content documentation
β”‚   β”‚   β”œβ”€β”€ about-page-content.md
β”‚   β”‚   β”œβ”€β”€ features-content.md
β”‚   β”‚   β”œβ”€β”€ magazine-content.md
β”‚   β”‚   └── academy-content.md
β”‚   β”œβ”€β”€ deployment/        # Deployment guides
β”‚   β”œβ”€β”€ api/              # API documentation
β”‚   └── user-guides/      # User guides
β”‚
β”œβ”€β”€ scripts/              # Utility scripts
β”‚   └── create_tables.py  # Database setup
β”‚
└── .archive/             # Archived files
    β”œβ”€β”€ .gitkeep
    └── old_versions/

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Python 3.11+
  • Supabase account
  • Gemini API key (for Professor Sparkle)

Installation

  1. Clone the repository
git clone https://github.com/AllienNova/Codopia.git
cd Codopia
  1. Install frontend dependencies
npm install
  1. Install backend dependencies
pip install -r requirements.txt
  1. Environment setup
# Copy environment template
cp .env.local.example .env.local

# Configure your environment variables
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
GEMINI_API_KEY=your_gemini_api_key
  1. Database setup
# Run Supabase migrations
npx supabase db push
  1. Start development servers
# Backend (Flask)
cd backend && python main.py

# Frontend (Next.js) - in a new terminal
cd frontend && npm run dev

πŸ§™β€β™‚οΈ Professor Sparkle AI Tutor

Features

  • Real-time voice interaction using Gemini Live API
  • Age-appropriate teaching with developmental stage awareness
  • Comprehensive safety protocols for child protection
  • Interactive learning support with visual aids and progress tracking

Voice Interaction

// Initialize Professor Sparkle
const sparkle = new ProfessorSparkleVoice();
await sparkle.connectToSparkle(childProfile);

// Voice interaction automatically handles:
// - Speech recognition and processing
// - Real-time AI response generation
// - Visual feedback synchronization
// - Progress tracking and assessment

Safety Safeguards

  • βœ… Never requests personal information
  • βœ… Redirects inappropriate topics to educational content
  • βœ… Maintains professional boundaries
  • βœ… Provides accurate coding information only
  • βœ… Adapts to child's developmental stage

πŸ”’ Security & Authentication

Supabase Integration

  • Row Level Security (RLS) for data protection
  • Parent-child relationship management
  • Automatic tier assignment based on age
  • Session management with secure tokens

Authentication Flow

  1. Parent creates account with email/password
  2. Child profile created with age-based tier assignment
  3. Secure session established with JWT tokens
  4. Access control enforced through RLS policies

🎨 Learning Environment

Interactive Features

  • Drag-and-drop coding blocks for visual programming
  • Real-time code execution with immediate feedback
  • Progress tracking with achievement system
  • Collaborative features for peer learning

Curriculum Integration

  • Structured lesson progression with prerequisites
  • Assessment criteria for each learning objective
  • Cross-curricular connections to math, science, and art
  • Portfolio development for showcasing projects

πŸ“Š Technology Stack

Frontend

  • Next.js 15 - React framework with app router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first styling
  • Supabase Client - Database and auth integration

Backend

  • Flask - Python web framework
  • Supabase - PostgreSQL database with real-time features
  • Gemini Live API - AI voice interaction
  • WebSockets - Real-time communication

Infrastructure

  • Vercel - Frontend deployment
  • Manus Cloud - Backend hosting
  • Supabase - Database and authentication
  • GitHub Actions - CI/CD pipeline

πŸš€ Deployment

Production URLs

Environment Configuration

# Production environment variables
SUPABASE_URL=https://ylymepybqcykyomsmxwk.supabase.co
SUPABASE_ANON_KEY=your_production_key
GEMINI_API_KEY=your_production_gemini_key
FLASK_SECRET_KEY=your_secure_secret_key

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Maintain comprehensive test coverage
  • Document all new features
  • Ensure child safety in all implementations

πŸ“„ License

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

πŸ™ Acknowledgments

  • Supabase for providing the backend infrastructure
  • Google Gemini for AI capabilities
  • Next.js team for the excellent React framework
  • Open source community for the amazing tools and libraries

πŸ“ž Support

For support, email support@codopia.com or join our community Discord.


Built with ❀️ for the next generation of coders

Codopia - Where Code Becomes Craft

About

Where Code Becomes Craft** - A comprehensive coding education platform for children ages 5-10.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published