Q-Ace Mentor
Q-Ace Mentor is an AI-powered Socratic tutor specifically designed for students of Test Automation. It doesn't just give you the code—it asks the right questions to lead you to the solution, helping you build deep problem-solving skills.
🌟 Key Features
- Socratic Tutoring: A chat interface that guides you through coding challenges without spoiling the answer.
- Traceback Analysis: Paste any Python error or traceback, and the mentor will explain the "why" and "how" behind the bug in plain language.
- Surprise Quiz: Generate dynamic quizzes based on your current skill level and topic of choice.
- Dual Language Support: Full Right-to-Left (RTL) support for Hebrew, alongside English.
- Dynamic Personalization:
- Toggle between Light and Dark themes.
- Adjustable Chat Font Size.
- Choose your preferred Gemini model.
- Persistence: All your settings and chat sessions are automatically saved to a local database.
🛠 ️ Technology Stack
- Backend: PHP 8.0+ (Framework-less)
- Database: SQLite with PDO
- AI Engine: Google Gemini Pro (via direct HTTP integration)
- Frontend: Vanilla JavaScript (ES6+), HTML5, CSS3
🚀 Getting Started
1. Prerequisites
- A web server with PHP 8.0 or higher.
- A Google API Key for Gemini. Get one here. (You'll enter this in the App Settings UI).
2. Installation
Simply clone or download the repository to your web server's public directory:
git clone https://github.com/your-repo/q-ace-mentor.git
3. Running the Application
If you have PHP installed, you can run it locally without a separate web server:
php -S localhost:8056
Open http://localhost:8056 in your browser.
📂 Project Structure
q-ace-mentor/
├── api/ # PHP Backend logic
│ ├── index.php # Main API router
│ ├── ai.php # Gemini API integration service
│ ├── db.php # Database connection with PDO
│ └── prompts.php # AI system prompts
├── js/ # Frontend JS modules
│ ├── app.js # Main controller
│ ├── api.js # Fetch client
│ └── i18n.js # Translation engine
├── css/ # Styled components
└── q_ace_mentor.db # Local SQLite database
🌍 Localization
The project uses a custom localization engine for Hebrew and English. All strings are managed in js/i18n.js. RTL/LTR switching is handled dynamically based on the selected language.
🌓 Theming
The UI supports Dark and Light modes, implemented via CSS variables located in css/styles.css. Settings are persisted via the api/index.php/settings endpoint.
Built with ❤️ by ATID College