🎓 GATE-prep
Your Ultimate AI-Powered GATE Preparation Companion
GATE-prep is a cutting-edge educational platform designed to streamline the preparation journey for the Graduate Aptitude Test in Engineering (GATE). By combining the power of Google's Gemini AI with a robust community forum and real-time analytics, we provide aspirants with a personalized and interactive learning experience.

🚀 Key Features & Usage Guide
1. 📅 Weekly Tests & Practice Sessions
What it is: Regular assessments to keep you exam-ready.
How to use:
- Weekly Tests: Participate in scheduled tests every week to benchmark your performance against others.
- Practice Sessions: Create custom practice sets for specific subjects or topics to strengthen your weak areas.
- Real Exam Simulation: Experience the pressure of the actual GATE exam with timed tests.
2. 👨🏫 Teacher Portal & Monitoring
What it is: A dedicated dashboard for educators to manage and track students.
How to use:
- Teacher Login: Educators can log in to a specialized dashboard (
/home2).
- Create Contests: Teachers can design and schedule contests for their students.
- Monitor Progress: Track student participation, scores, and performance trends in real-time.
3. 📊 Advanced Student Analytics
What it is: Deep insights into your learning curve.
How to use:
- Performance Analytics: Visual charts showing your accuracy, completion rates, and subject-wise strength.
- Relative Performance: Compare your scores with the community average to see where you stand.
- Study Consistency: Track your daily activity streaks to maintain discipline.
4. 📚 Extensive Question Bank (500+)
What it is: A massive repository of GATE-level questions.
How to use:
- 500+ Questions: Access a vast library of questions across all major subjects like Algorithms, OS, DBMS, and Maths.
- Dynamic Generation: Questions are dynamically generated to ensure variety and prevent rote learning.
- Difficulty Levels: Filter questions by Easy, Medium, or Hard to match your preparation level.
5. 🤖 AI-Powered Tutor
What it is: Your 24/7 study companion.
How to use:
- Instant Doubt Resolution: Ask any technical question to the Gemini AI and get immediate, detailed explanations.
- Concept Clarification: Get complex topics broken down into simple, digestible summaries.
6. 💬 Collaborative Community
What it is: Learn together with peers.
How to use:
- Discussion Forums: Post doubts and get answers from the community.
- Knowledge Sharing: Share resources, tips, and strategies with fellow aspirants.
🛠️ Tech Stack
Frontend
- React.js: For building a dynamic and responsive user interface.
- Vite: Next-generation frontend tooling for lightning-fast builds.
- Chart.js: For rendering beautiful and informative data visualizations.
- React Router: For seamless client-side navigation.
- React Toastify: For elegant notifications and alerts.
Backend
- Python & Flask: A lightweight and efficient backend server.
- Google GenAI SDK: To interface with the powerful gemini-3-flash-preview model.
- Flask-CORS: To handle Cross-Origin Resource Sharing securely.
Database & Cloud
- Firebase Authentication: For secure user identity management.
- Firebase Firestore: A flexible, scalable NoSQL cloud database for real-time data.
- Vercel: For seamless deployment and hosting.
🏁 Getting Started & Deployment Guide
This comprehensive guide is designed for beginners to help you set up, run, and deploy the GATE-prep platform from scratch.
📋 Prerequisites
Before you start, you need to install a few free tools:
- Node.js (Version 16 or newer): Download & Install
- Why? Required to run the React frontend.
- Python (Version 3.8 or newer): Download & Install
- Why? Required to run the Flask backend.
- Git: Download & Install
- Why? To download the code.
- VS Code (Recommended): A good code editor makes this easier.
🛠️ Step 1: Local Setup (Running on your computer)
1. Download the Code
Open your terminal (Command Prompt on Windows, Terminal on Mac) and run:
git clone https://github.com/GaneshArihanth/GATE-prep.git
cd GATE-prep
2. Setup the Backend (The Brain)
The backend uses Python to talk to Google's AI.
# Install the required libraries
pip install -r requirements.txt
# Note: If 'pip' doesn't work, try 'pip3'
🔑 Configure API Key:
- Go to Google AI Studio and click "Get API Key".
- Create a new file named
.env in the root folder (GATE-prep/).
- Open it and paste your key like this:
GEMINI_API_KEY=AIzaSyD...your_actual_key_here...
▶️ Start the Backend:
python api/index.py
# If that fails, try: python3 api/index.py
Success Message: Running on http://127.0.0.1:5001
3. Setup the Frontend (The Interface)
Open a new terminal window (keep the backend running!).
cd client
npm install
🔥 Configure Firebase (Database):
- Go to Firebase Console.
- Click "Add project" -> Name it "GATE-prep".
- Enable Authentication:
- Build > Authentication > Get Started.
- Click "Email/Password" > Enable > Save.
- Click "Google" > Enable > Save.
- Enable Database:
- Build > Firestore Database > Create Database.
- Select a location (e.g.,
nam5 or asia-south1).
- Choose "Start in Test Mode".
- Get Your Keys:
- Click the ⚙️ (Gear icon) > Project Settings.
- Scroll down to "Your apps" > Click
</> (Web icon).
- Register app (enter any name).
- Copy the
firebaseConfig values shown.
- Save Keys:
▶️ Start the Frontend:
npm run dev
Click the link shown (e.g., http://localhost:5173) to open the app!
☁️ Step 2: Deployment (Putting it on the internet)
We use Vercel because it's free and easy.
Option A: The Easy Way (Vercel Dashboard)
- Push your code to your own GitHub repository.
- Go to Vercel.com and Log in.
- Click "Add New..." > "Project".
- Find your
GATE-prep repo and click Import.
- IMPORTANT: Environment Variables:
- Click to expand the "Environment Variables" section.
- You MUST add every key from your
.env files here.
- Add
GEMINI_API_KEY (value from your root .env).
- Add
VITE_FIREBASE_API_KEY (value from client .env).
- ...repeat for all 6 Firebase keys.
- Click Deploy.
- Wait ~1 minute. You'll get a live URL!
Option B: The Hacker Way (Command Line)
- Install Vercel CLI:
npm install -g vercel
- Run
vercel in the root folder.
- Follow the prompts (Say 'Yes' to everything).
- Go to the Vercel Dashboard to add your Environment Variables (as shown in Option A).
- Run
vercel --prod to update.
❓ Troubleshooting
- "pip command not found": Try using
pip3 or python -m pip.
- "npm command not found": Make sure you installed Node.js.
- "Firebase permission denied": Check your Firestore Rules. Ensure you are in "Test Mode" or have proper rules set up.
- "API Key error": Double-check your
.env file names. They must be exactly .env (not .env.txt).
📂 Project Structure
GATE-prep/
├── api/ # Flask Backend
│ ├── index.py # Main application entry point
│ └── ...
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── utils/ # Helper functions & Firebase config
│ │ └── ...
│ ├── package.json
│ └── ...
├── requirements.txt # Python dependencies
└── README.md # Project documentation
🤝 Contributing
Contributions are welcome! If you'd like to improve GATE-prep, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature).
- Commit your changes (
git commit -m 'Add some feature').
- Push to the branch (
git push origin feature/YourFeature).
- Open a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Ganesh Arihanth