This project is an AI-powered web app designed to help college students make the most out of their education.It is built by students for students.
We are using the MERN (MongoDB, Express.js, React, Node.js) stack, alongside OpenAI's API for natural language processing, and leveraing the Qdrant vector database for efficient semantic search and retrieval.
- Promo Video: https://youtu.be/DdeKuY-yxvk?si=Niz1s6W2Il6IfK6b
- Youtube Demo: https://www.youtube.com/watch?v=HlPKFzQB5l4&ab_channel=CristianCastroOliva
- AI Assistant – Provides real-time responses to academic and student-related inquiries.
- Flowchart Creation – Generates a multi-year academic plan based on major and concentration.
- Course Search & Schedule Analysis – Helps users find and organize classes based on availability, professor ratings, and personal preferences.
- Student Matching – Assists in forming study groups, research teams, and roommate connections.
- Data-Driven Recommendations – Uses AI to suggest relevant resources and optimize student experience.
Using Polyratings, get instant AI summaries of professor ratings and find the best professors for your classes!
Search naturally for classes and we will create a MongoDB query that finds the sections that fit your query.
Add Spring 2025 sections and build all combinations of your weekly calendar the way you want it.
Get instant AI insights on your current weekly calendar and ways to improve it by analyzing workload, professor ratings, time conflicts, and more.
- Frontend: React, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- AI Integration: OpenAI API, Qdrant for vector search
- Hosting & Deployment: TBD (Vercel, AWS, or other services)
-
Clone the repository:
git clone https://github.com/Castro19/LAEP-GPT.git cd LAEP-GPT -
Run the setup script to install dependencies and configure your development environment:
./setup-dev.sh
This script will:
- Install recommended VSCode extensions
- Install all project dependencies
- Build the shared package
- Run ESLint to verify the setup
If the script fails to install some extensions automatically, you can install them manually:
- Open VSCode
- Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
- Search for and install each of the recommended extensions listed in the Developer Setup section
-
Set up environment variables (e.g., API keys for OpenAI and Qdrant) in a
.envfile.- Will release with an instruction list of how to do this seperately. However, if you are onboading, please message me for the .env file and you will be sent your own personal API keys.
- Start the development server:
npm run devNotes: If the types are not working, build the shared folder
cd shared
npm run buildThis project includes recommended VSCode settings and extensions to ensure a consistent development experience. When you open the project in VSCode, you'll be prompted to install the recommended extensions.
- ESLint (
dbaeumer.vscode-eslint) - For linting and code quality - Prettier (
esbenp.prettier-vscode) - For code formatting - TypeScript Next (
ms-vscode.vscode-typescript-next) - For TypeScript support - GitLens (
eamodio.gitlens) - For enhanced Git integration and team collaboration - Docker (
ms-azuretools.vscode-docker) - For container management - Remote Containers (
ms-vscode-remote.remote-containers) - For development in containers
If the setup script fails to install some extensions automatically, you can install them manually:
- Open VSCode
- Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
- Search for each extension by name or ID
- Click "Install" for each extension
Alternatively, you can install extensions directly from the VSCode marketplace:
The project uses ESLint and Prettier for code formatting and linting. The configuration is already set up in the repository:
- ESLint configuration is in
server/eslint.config.js - VSCode settings are in
.vscode/settings.json
To ensure ESLint warnings appear in VSCode:
- Make sure you have the ESLint extension installed
- Restart VSCode after cloning the repository
- If warnings still don't appear, run the following command in the server directory:
cd server npm run lint
Special thanks to our advisor Franz Kurfess for guidance throughout the development process. Additionally, we appreciate the contributions and data from Polyratings and PolyFlowBuilder, which helped enhance our implementation.
For any inquiries or contributions, please E-mail me at help@polylink.dev
Also refer to our contribution guidelines here CONTRIBUTING.md



