EduGenie is a modular system designed to provide personalized academic support for students by integrating a React frontend, Node.js backend, LangChain-based Python scripts, and Google Gemini LLM.
├── BackEnd
├── FrontEnd
├── LangChain
└── PythonScripts
- Add MONGODB_URL, SERV_PORT, JWT_SECRET in .env file under BackEnd folder
- Add GEMINI_API_KEY in .env file under LangChain folder
- Add GEMINI_API_KEY in .env file under PythonScripts folder
Developed using Node.js, Express.js, and MongoDB for a RESTful API structure.
Implements secure authentication and scalable database integration.
- Navigate to the
BackEnd
folder:
cd BackEnd
- Install the required dependencies:
npm install
- Setup nodemon:
npm install -g nodemon
- Launch Node.js BackEnd:
nodemon index.js
Built using React.js with Tailwind CSS for styling and Vite as the build tool.
- Navigate to the
FrontEnd
folder:
cd FrontEnd
- Install the required dependencies:
npm install
- Lauch React.js FrontEnd:
npm run dev
This setup allows you to develop and test LangChain-based Python scripts using Gemini.
- Navigate to the LangChain folder:
cd LangChain
- Create a new Conda environment:
conda create --prefix ./EduGenie.env python=3.10
- Activate the environment:
conda activate ./EduGenie.env
- Install JupyterLab:
conda install jupyterlab
- Install required Python packages:
pip install PyMuPDF langchain langchain-google-genai google-generativeai langchain-community python-dotenv
- Launch JupyterLab:
jupyter lab
The PythonScripts folder contains finalized Python APIs. These are designed to be hosted using FastAPI for production usage.
- Navigate to PythonScripts folder:
cd PythonScripts
- Create virtual environment:
python -m venv env
- Activate the environment:
./env/Scripts/activate
- Install required Python packages:
pip install uvicorn fastapi PyMuPDF langchain langchain-google-genai google-generativeai langchain-community python-dotenv
- Lauch FastAPI Backend:
uvicorn main:app --reload