# KidsAI Explorer - Next.js Docker Setup 🚀 A beautiful, interactive bilingual frontend designed to help children develop critical thinking skills through guided AI assistance. Now migrated to **Next.js 15** with **TypeScript**, **Tailwind CSS**, and running entirely in **Docker**. ## 🌟 New Features - **Next.js 15**: Latest React framework with App Router - **TypeScript**: Full type safety and better development experience - **Tailwind CSS**: Modern utility-first CSS framework - **Docker**: Complete containerization with Docker Compose v2 - **Framer Motion**: Smooth animations and transitions - **Modern Architecture**: Clean component-based structure ## 🛠️ Tech Stack - **Frontend**: Next.js 15, React 18, TypeScript - **Styling**: Tailwind CSS, Framer Motion - **AI Integration**: OpenAI API, Hugging Face (fallback) - **Containerization**: Docker, Docker Compose v2 - **Languages**: English & German support ## 🚀 Quick Start ### Prerequisites - Docker and Docker Compose v2 - Your API keys (OpenAI recommended) ### Installation 1. **Clone and navigate to the project**: ```bash cd /path/to/kidsai ``` 2. **Set up environment variables**: ```bash cp .env.example .env # Edit .env with your API keys ``` 3. **Build and run with Docker**: ```bash docker compose up --build ``` 4. **Access the application**: - Open your browser to `http://localhost:3000` - The app will be running entirely in Docker ### Environment Variables Create a `.env` file with: ```bash # Required: OpenAI API Key for best experience OPENAI_API_KEY=your_openai_api_key_here # Optional: Hugging Face token for fallback HUGGING_FACE_TOKEN=your_hugging_face_token_here ``` ## 🐳 Docker Commands ```bash # Build and start the application docker compose up --build # Run in background (detached mode) docker compose up -d # View logs docker compose logs -f # Stop the application docker compose down # Rebuild after code changes docker compose down && docker compose up --build ``` ## 📱 Features ✨ **Kid-Friendly Interface**: Colorful, animated design that appeals to children 🌍 **Bilingual Support**: Full English and German language support with easy switching 🧠 **Critical Thinking Focus**: Guides children through thinking processes rather than giving direct answers 🎯 **Interactive Learning**: Step-by-step guidance for problem-solving 🎨 **Beautiful Animations**: Engaging visual effects and smooth transitions 📱 **Responsive Design**: Works perfectly on all devices 🔍 **Smart Question Categories**: Different thinking frameworks for science, math, technology, and general questions 💾 **Language Persistence**: Remembers your language preference ## 🏗️ Project Structure ``` src/ ├── app/ # Next.js App Router │ ├── api/ # API routes │ ├── globals.css # Global styles │ ├── layout.tsx # Root layout │ └── page.tsx # Home page ├── components/ # React components │ ├── Header.tsx │ ├── WelcomeSection.tsx │ ├── QuestionSection.tsx │ ├── ThinkingSection.tsx │ └── LanguageProvider.tsx ├── lib/ # Utilities and services │ ├── ai-service.ts # AI integration │ └── translations.ts # Language translations └── types/ # TypeScript type definitions └── index.ts ``` ## 🔧 Development ### Local Development (with Docker) 1. **Start development server**: ```bash docker compose up ``` 2. **Make changes**: Edit files and see live updates 3. **View logs**: ```bash docker compose logs -f app ``` ### Adding Prisma (Optional) If you want to add a database: 1. **Uncomment database service** in `docker-compose.yml` 2. **Install Prisma**: ```bash docker compose exec app npm install prisma @prisma/client ``` 3. **Initialize Prisma**: ```bash docker compose exec app npx prisma init ``` ## 🌍 Language Support The application supports: - **English (en)**: Full interface translation - **German (de)**: Complete German localization - Language preference is saved in browser storage ## 🤖 AI Integration - **Primary**: OpenAI API (GPT-3.5-turbo) - **Fallback**: Local guidance questions when AI is unavailable - **Educational Focus**: Encourages thinking rather than providing direct answers ## 🔒 Security - All secrets managed through environment variables - API routes protected and validated - No API keys exposed to frontend - Docker container isolation ## 📚 Educational Philosophy KidsAI Explorer is built on the principle that **learning happens best when children think for themselves**. Instead of providing immediate answers, it: - Encourages curiosity and wonder - Breaks complex questions into manageable steps - Suggests safe ways to explore and experiment - Promotes discussion with adults and peers - Builds confidence in problem-solving abilities ## 🤝 Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Test with Docker 5. Submit a pull request ## 📄 License MIT License - see LICENSE file for details ## 🆘 Troubleshooting ### Container Issues ```bash # Clean rebuild docker compose down --volumes docker compose up --build # Check logs docker compose logs app ``` ### Port Conflicts If port 3000 is in use, modify `docker-compose.yml`: ```yaml ports: - "3001:3000" # Use port 3001 instead ``` ### Performance Issues - Ensure Docker has enough memory allocated (4GB+ recommended) - Check available disk space for Docker volumes