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.
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.
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.
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.
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.
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.
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.
- 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.
- Python & Flask: A lightweight and efficient backend server.
- Google GenAI SDK: To interface with the powerful Gemini models.
- Flask-CORS: To handle Cross-Origin Resource Sharing securely.
- 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.
This comprehensive guide is designed for beginners to help you set up, run, and deploy the GATE-prep platform from scratch.
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.
Open your terminal (Command Prompt on Windows, Terminal on Mac) and run:
git clone https://github.com/GaneshArihanth/GATE-prep.git
cd GATE-prepThe 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
.envin the root folder (GATE-prep/). - Open it and paste your key like this:
GEMINI_API_KEY=AIzaSyD...your_actual_key_here...
python api/index.py
# If that fails, try: python3 api/index.pySuccess Message: Running on http://127.0.0.1:5001
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.,
nam5orasia-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
firebaseConfigvalues shown.
- Save Keys:
- Create a file named
.envin theclient/folder. - Paste the values in this format:
VITE_FIREBASE_API_KEY=AIzaSy... VITE_FIREBASE_AUTH_DOMAIN=gate-prep.firebaseapp.com VITE_FIREBASE_PROJECT_ID=gate-prep VITE_FIREBASE_STORAGE_BUCKET=gate-prep.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=123456... VITE_FIREBASE_APP_ID=1:12345...
- Create a file named
npm run devClick the link shown (e.g., http://localhost:5173) to open the app!
We use Vercel because it's free and easy.
- Push your code to your own GitHub repository.
- Go to Vercel.com and Log in.
- Click "Add New..." > "Project".
- Find your
GATE-preprepo and click Import. - IMPORTANT: Environment Variables:
- Click to expand the "Environment Variables" section.
- You MUST add every key from your
.envfiles 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!
- Install Vercel CLI:
npm install -g vercel - Run
vercelin 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 --prodto update.
- "pip command not found": Try using
pip3orpython -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
.envfile names. They must be exactly.env(not.env.txt).
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
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.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by Ganesh Arihanth