The Stellic Chatbot is a web application that assists users at Case Western Reserve University with academic scheduling.
It manages a student’s current academic process, degree requirements, courses taken, and classes offered at CWRU during the specified semesters.
The chatbot also provides AI functionality, allowing users to interact with it and obtain necessary information efficiently and effectively.
Install the required python packages:
pip install -r requirements.txt- Run the software on a website
- Login using your
name,Case ID, and select yourmajorwith the dropdown menu - After login, you can
- Access the chatbot with the
chatfunctionality on the top left corner of the software and ask any question regardingmajor requirementsandcourses - Use the search bar to search for
courses
- Run the software on a website
- Login using your
nameandCase ID - After login, you can
- Access the chatbot with the
chatfunctionality on the top left corner of the software and ask any question regardingmajor requirementsandcourses - Create and add
coursesinto the database
AI/- AI utility scriptsscrape/- Scripts related to scrapingstatic/- Static assets for the web (JS)templates/- HTML templates for frontendtests/- Testing files
- Backend
- python
- Flask
- Frontend
- HTML
- JavaScript
- Database
- MongoDB
- AI Engine
- Llama with Groq (RAG)
- Sentence Transformers (Embeddings)
- Scraping
- Selenium
Aidan Bugayong:
- RAG chatbot
- Frontend/Flask
Brandon Lee:
- Course/Degree Scraping
- Course Search
Natalie Lee:
- Unit Testing
- Frontend/Flask
Sam Lin:
- Database Management
- Admin Account
- Time Constraints for Scheduling Functionality
- We originally planned to implement a course scheduling feature. However, due to limited development time and the complexity of scraping reliable scheduling data, we had to deprioritize this functionality.
→ Future improvement: Integrating APIs (if available) or using static sample schedule data could help in future iterations.
- We originally planned to implement a course scheduling feature. However, due to limited development time and the complexity of scraping reliable scheduling data, we had to deprioritize this functionality.
- Difficulty Implementing Vector Search
- Integrating a working vector search was technically challenging and more complex and took more time than we anticipated.
→ Future improvement: Start with simpler keyword search first, then progressively move to vector models to ensure a working prototype earlier.
- Integrating a working vector search was technically challenging and more complex and took more time than we anticipated.
- Documentation is found in "docs/build/index.html"
This project is licensed under the MIT License.
