Skip to content

webcat882/Educational-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Educational Chatbot for Course & Degree Queries

A modern chatbot web application that helps students and staff quickly find information about university courses, prerequisites, credits, electives, and more. Built with React (frontend) and FastAPI (backend).

πŸš€ Features

  • Natural Language Chatbot:
    Ask questions like "What are the prerequisites for CS201?", "How many credits is MATH201?", or "Which has more credits, CS201 or CS450?"
  • Multi-Course Support:
    Ask about multiple courses in one question: "What are the prerequisites for CS201 and CS301?"
  • Course Listing:
    List all electives, core courses, or courses offered in a specific semester.
  • Course Comparison:
    Compare courses for credits: "Which has more credits, CS201 or CS450?"
  • Beautiful UI:
    Modern, responsive chat interface with course browser, bookmarks, and prerequisite graph visualization.
  • Easy Data Management:
    Course data is stored in JSON for easy editing and extension.

πŸ—‚οΈ Project Structure

.
β”œβ”€β”€ backend/           # Python FastAPI backend
β”‚   β”œβ”€β”€ app/          # Application code
β”‚   └── data/         # Course data
β”œβ”€β”€ frontend/         # React frontend
└── README.md         # This file

⚑ Quickstart

Backend

  1. Setup virtual environment:

    cd backend
    python -m venv venv
    venv\\Scripts\\activate  # On Windows
    # Or: source venv/bin/activate  # On Mac/Linux
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the backend server:

    uvicorn app.main:app --reload

Frontend

  1. Install dependencies:

    cd frontend
    npm install
  2. Run the frontend:

    npm start

πŸ’¬ Example Questions

  • What are the prerequisites for CS301?
  • How many credits is MATH201?
  • Describe CS201
  • What type of course is CS450?
  • List all electives
  • Show all courses offered in Spring
  • Which has more credits, CS201 or CS450?
  • What are the prerequisites for CS201 and CS301?

πŸ› οΈ Customization

  • Add/Edit Courses:
    Update the courses.json or course_data.py in backend/app/data/.
  • Extend Chatbot Intelligence:
    Enhance the /courses/ask endpoint in backend/app/routers/courses.py for more advanced queries.

πŸ“¦ Dependencies

  • Backend: FastAPI, Uvicorn, Pydantic, Python-dotenv
  • Frontend: React, Material-UI, Axios, Framer Motion

🀝 Contributing

Pull requests and suggestions are welcome!
For major changes, please open an issue first to discuss what you would like to change.

πŸ“„ License

MIT License

πŸ‘¨β€πŸ’» Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages