Skip to content

bariwalters/Codelingo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 

Repository files navigation

🐱 Codelingo

Codelingo is an AI-powered, gamified mobile learning platform designed to help users master programming languages through interactive, bite-sized lessons. Built with React Native (Expo), it leverages the Google Gemini Pro AI to dynamically generate coding challenges tailored to the user's current skill level.


🚀 Key Features

AI-Generated Lessons: Unlike static platforms, Codelingo uses the Gemini Pro model to synthesize "Fill in the Blank" and "Code Arrangement" questions on the fly.
Speech-to-Code: Integrated text-to-speech allows users to hear prompt text and logic explanations, improving accessibility and phonetic retention of syntax.
Real-time Gamification: Tracks XP, Streaks, and Level progression using Firebase Firestore.
Multi-Language Pathing: Dedicated curricula for Python, Java, JavaScript, C++, and SQL.
Dynamic Feedback: Provides instant hints and explanations generated by AI when a user makes a mistake.


🛠 Tech Stack
Frontend: React Native (Expo), TypeScript
AI Engine: Google Generative AI (Gemini 1.5 Flash)
Database: Firebase Firestore
Authentication: Firebase Auth
Audio/Voice: Eleven Labs, Expo AV
Icons: Expo Vector Icons (Ionicons)

🧠 The Lesson Engine Flow
Context Injection: The app sends the user's current language and level to the Gemini service.

JSON Synthesis: Gemini returns a structured object containing a code snippet, correct logical order, and an educational explanation.

Interactive UI: Users engage with native components to arrange code blocks or select the correct syntax.

Sync & Level Up: Upon completion, applyLessonCompletion updates Firestore, increments the user's level, and awards XP.

⚙️ Setup & Installation
1. Prerequisites
Node.js (v18+)

Expo Go app on your physical device (or an emulator)

A Firebase Project

A Google AI Studio API Key

2. Installation
Bash
Clone the repository
git clone [https://github.com/your-username/codelingo.git](https://github.com/your-username/codelingo.git)

Navigate to project
cd codelingo

Install dependencies
npm install
3. Configuration
Create a .env file or update your src/firebase/firebase.ts and src/ai/gemini.ts with your respective API keys and project identifiers.

4. Run the App
Bash
npx expo start
🤝 Contributing
Contributions make the open-source community an amazing place to learn and create.

Fork the Project

Create your Feature Branch (git checkout -b feature/AmazingFeature)

Commit your Changes (git commit -m 'Add some AmazingFeature')

Push to the Branch (git push origin feature/AmazingFeature)

Open a Pull Request

📄 License
Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors