Skip to content

CS222-UIUC/fa25-fa25-team017

Repository files navigation

IlliniSearch

A centralized, AI-powered search engine for UIUC students

Overview

UIUC students and alumni waste time bouncing between scattered and uncentralized platforms like Reddit, RateMyProfessor, various UIUC websites, and Course Explorer just to find reliable campus information. IlliniSearch solves this problem by providing a centralized, AI-powered search engine that delivers fast, relevant, and trustworthy results in one place, helping students make more informed academic and campus decisions.

Features

Comprehensive Search - Retrieve information from:

Course Explorer
Study Abroad
UIUC official websites
Reddit (r/UIUC)
Social Medias
RateMyProfessor
General education requirements
RSO listings
Academic calendar
Bus schedules
Restaurants & activities
Community events
Housing
Trending topics

AI Assistant - Natural-language query understanding

Summaries of Reddit posts
Topic recommendations

Responsive UI

Clean React interface
Professional layout
High contrast color scheme, easy visibility for accessibility

System Architecture

1. Frontend (React): Handles getting user queries, search UI, stores trending data, autocomplete, search results UI

React, JavaScriptSyntax(JSX), HTML, CSS
React Testing Library for frontend tests
SonarCube linting

2. Backend (Python): Handles returning appropriate search results, scraping UIUC related websites and data retrieval

FastAPI
Faiss model
multi-qa-mpnet-base-dot-v1 model
Praw and Beautiful Soup for scraping
Pandas for data processing
Pytest for backend tests
SonarCube linting

3. AI/Chatbot Layer: Handles returning AI generated summary for search query, and AI generated summaries for each navigational link

Gemini API
Natural language interpretation
Summary generation
JSON-formatted responses

Project Structure

FA25-FA25-TEAM017/ │ ├── illinisearch-backend/ │ ├── pycache/ │ ├── illinisearch_encodings/ │ │ ├── tests/ │ │ ├── data.py │ │ ├── faiss_index.bin │ │ ├── generate_summaries.py │ │ ├── hashes.pkl │ │ ├── metadata.pkl │ │ ├── urls.txt │ │ └── urlsample.txt │ ├── tests/ │ ├── init.py │ ├── .coverage │ ├── .coveragerc │ ├── .env │ ├── .python-version │ ├── app.py │ └── requirements.txt │ ├── illinisearch-frontend/ │ ├── coverage/ │ ├── node_modules/ │ ├── src/ │ │ ├── images/ │ │ ├── pages/ │ │ │ ├── common_terms.json │ │ │ ├── IlliniSearch.jsx │ │ │ └── searchResults.jsx │ │ ├── testing/ │ │ ├── App.css │ │ ├── App.jsx │ │ ├── index.css │ │ ├── main.jsx │ │ └── reportWebVitals.js │ ├── eslint.config.js │ ├── index.html │ ├── package-lock.json │ ├── package.json │ └── vite.config.js

Getting Started

Frontend Setup

open terminal
cd illinisearch-frontend
npm install
npm run dev

Backend Setup

open terminal
locate requirements.txt
cd illinisearch-backend
pip install -r requirements.txt
uvicorn app:app --reload

Usage

Run frontend and backend as described above.
Open the React-local host link given in terminal in your browser.
When prompted, enter a query into the main search bar, or choose a autocomplete version, or choose to click on a trending search option.
View UIUC related websites, courses, RateMyProfessor ratings, Reddit discussions, and summaries.
Click items to navigate to external links.
Click the 'IlliniSearch' icon in the top left to return to search page.

Maintainers & Contributors

Sahasra Kotarkonda (skota28)
Ranjani Venkataraman (rvenk29)
Akshaya Ayyah (aayyah3)
Hiral Palakurty (hiralp3)
PM: Nandini Deore

Project Status

Active — In Development
Frontend and backend systems are functional, with ongoing refinements to AI summarization, scraper stability, and data updates.

About

fa25-fa25-team017 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages