EngBot - English Learning App Overview EngBot is a React Native mobile app designed to help users improve their English skills at a B1 (intermediate) level through interactive exercises. It includes four sections:
Quick Note:
The generated tests in the App aren't that advanced since a small free gemini model was used.
Vocabulary Test: Answer MCQs on word meanings.
Reading: Read a generated paragraph and answer the MCQ questions asked.
Fill in the Blanks: Complete a paragraph by selecting the correct set of words.
Writing: Write essays based on prompts, with AI-evaluated scores for grammar, spelling, vocabulary, sentence structure, and overall quality.
The app uses the Google Generative AI API (gemini-1.5-flash) for dynamic content generation and response evaluation.
Features
Dynamic Content: Questions and content generated in real-time via Gemini API.
User Feedback: Instant scoring with visual feedback (green for correct, red for incorrect).
Technologies Used
React Native: Cross-platform mobile app framework.
Google Generative AI API (gemini-1.5-flash): Content generation and essay evaluation.
react-native-dotenv: Secure environment variable management.
React Native Paper: UI components (e.g., Appbar).
React Navigation: Screen navigation.
AI Assistance Acknowledgment
Most of the EngBot code was generated and debugged using Grok 3 by xAI, including:
Initial code for Reading.js, Vocab.js, FillinBlanks.js, and Writing.js.
Debugging errors
Fixes for imports, navigation, and API handling.
Installations
npm install //dependencies
import your own images for the Icons and buttons
Project Structure
engbot/
├── assets/ # Images (e.g., LogoDark.png)
├── src/
│ ├── Reading.js # Spelling Bee component
│ ├── Vocab.js # Vocabulary Test component
│ ├── FillinBlanks.js # Fill in the Blanks component
│ ├── Writing.js # Writing component
├── .env # Environment variables (API key)
├── package.json # Dependencies and scripts
Disclaimer:
This code is provided "as is" without warranty of any kind, express or implied. The authors are not liable for any damages arising from its use.