A platform for pulling, viewing, and summarizing student feedback data from Forum.
This project can run fully with just an OpenAI API key (optional, for AI summarization of your feedback). The platform automatically handles login to the Forum using your browser session.
- Project Overview
- Video Demo
- For Non-CS Majors
- Required Credentials
- How to Set Up the Project (
setup.py) - How to Run the Project Again (
run.py) - Accessing the Website
This project pulls feedback data from Forum using your active browser session, stores it in a local database (data.db), and lets you view or summarize that data.
It includes:
- A Python backend for fetching and storing data
- An optional AI summarization tool using OpenAI
- A modern web frontend to explore the data visually
This is the link to our demo video: https://youtu.be/9OJhvBPjuWA
- Click the green
Codebutton on the GitHub page. - Select "Download ZIP".
- Unzip the folder somewhere easy to find, like your Desktop.
- On Mac: Press
Command + Space, type "Terminal", and hitEnter. - On Windows: Press
Windows Key, type "cmd" or "Terminal", and hitEnter.
Once in your terminal, use the cd command to move into the folder.
Example:
cd Desktop/cs162-hc-history-mainThen, to confirm you're in the right place:
ls # Mac/Linux
dir # WindowsYou should see something like this:
README.md frontend ai-summary
requirements.txt setup.py backend
run.py
Before installing Python packages, create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activatepython -m venv venv
venv\Scripts\activateThe frontend uses Next.js, which requires Node.js and npm. Follow these steps to install them:
- Go to the official Node.js website: https://nodejs.org/en/download
- Download the LTS (Long-Term Support) version for your operating system.
- Run the installer and follow the instructions. Make sure to check the box that says "Add to PATH" if prompted.
To confirm the installation worked, open your terminal and run:
node -v
npm -vOnce you're in the project folder, check if Python is installed by copying this into your terminal:
python3 --versionIf that doesn't work, try:
python --versionYou should see a version like:
Python 3.x.x
If you see an error or it says Python 2.x, follow the instructions below to install Python 3.
Install Python 3 on macOS
- Visit python.org/downloads/mac-osx
- Download the latest version of Python 3.
- Run the installer and follow the steps.
- After installation, reopen your terminal and run:
python3 --versionYou should now see a version like Python 3.x.x.
Optional: If you're comfortable with Homebrew, you can also run:
brew install pythonInstall Python 3 on Windows
- Visit python.org/downloads/windows
- Download the latest version of Python 3.
- When installing:
- Check the box that says "Add Python to PATH"
- Click "Install Now"
- After installation, open a new terminal and run:
python --versionYou should see a version like Python 3.x.x.
To run everything, you only need an OpenAI API key if you want to use AI summaries. The system will handle your login session through an interactive browser.
- Go to https://platform.openai.com/api-keys
- Sign in with your OpenAI account
- Click "Create new secret key"
- Copy the key — it will look like
sk-abc123...
Important:
To use this key, you must either:
- Be on a paid OpenAI plan (Pay-as-you-go)
- Or have free credits available in your account
You can check your usage and billing status at:
https://platform.openai.com/account/usage
https://platform.openai.com/account/billing
The AI Summary feature uses OpenAI's GPT models to analyze your feedback and generate natural language summaries. These summaries provide insights into your strengths and areas for improvement for each learning outcome.
-
First-Time Setup
- When you run
setup.py, you'll be asked if you want to enable AI summarization - If you choose yes, you'll be prompted to enter your OpenAI API key
- The key will be saved in
.envfile in your project root directory - This file is automatically ignored by Git for security
- When you run
-
Manual API Key Setup If you want to add or update your API key later:
- Create or edit the
.envfile in your project root directory - Add your API key in this format:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Restart the application for changes to take effect
- Create or edit the
The AI summary feature:
- Analyzes all feedback comments for each learning outcome
- Generates personalized summaries highlighting:
- Your strengths and accomplishments
- Specific areas for improvement
- Patterns across different courses and terms
- Updates automatically when new feedback is pulled
- Displays summaries in an easy-to-read format on the web interface
Once enabled:
- Navigate to the web interface
- Click on any learning outcome
- View the AI-generated summary in the expanded card
- Use the navigation buttons to cycle through different learning outcomes
Note: The first time you view summaries for a learning outcome, there might be a brief delay as the summary is generated.
Run this the first time to set everything up. This will automatically run the project as well:
python3 setup.pyWhat it does:
- Installs dependencies
- Authenticates using your browser session
- Pulls data from Forum and stores it in
data.db - Optionally runs AI summarization using OpenAI
- Runs the website
During setup, a browser window will open for you to log in to Forum:
- Sign in with your Minerva credentials when the browser opens
- Important: You do NOT need to create a new Google profile, even if prompted (especially in incognito mode)
- After successful login, you may need to return to your terminal:
- Important note: If you are running
setup.pyfor the first time, once you enter your email and password for Google Login, DON'T close the window or navigate anywhere unless you hit Enter in the terminal. Otherwise, the session gets interrupted and it will show an error. - If you ran
setup.pybefore, but for some reason you ran it again, you won't need to press enter as it will automatically remember your last login. - If nothing happens for a minute after login, try pressing Enter in your terminal
- Important note: If you are running
Once everything is set up, run this to start the platform again:
python3 run.pyWhat it does:
- Verifies everything is in place (
data.db,.env, etc.) - Launches the backend and frontend
Once you've run setup.py or run.py, open your browser and go to:
You can now explore your feedback data and, if enabled, view AI-generated summaries.