Group 23 — 2025
This project provides an AI-powered tutoring platform that allows students to upload study materials (notes, lecture slides, PDFs, text) and receive:
- Summaries & explanations
- Automatically generated flashcards
- Practice quizzes
- Constructive feedback on understanding
The goal is to make studying interactive, adaptive, and personalized.
Feature: Description Document Upload: Accepts text/PDFs containing study content. AI Feedback Engine: Uses LLM-based processing to analyze material and generate guidance. Flashcard Generator: Extracts key terms & concepts into flashcards. Quiz/Test Builder: Creates practice questions based on material difficulty. User Session History: Stores previous uploads, flashcards, and quizzes.
Area: Tools Used Backend: Java, Spring Boot Database: H2 (local) → PostgreSQL (deployment) AI Integration: OpenAI / Spring AI API Testing: JUnit, Mockito, Spring Test DevOps: GitLab CI/CD, Docker, Linux Communication: RESTful API with JSON
AI QUIZ AND FLASHCARD GENERATION ONLY WORK ON OPEN AI NO OTHER AIs
-
Clone the repository: git clone https://gitlab.scss.tcd.ie/csu33012-2526-group23/csu33012-2526-project23.git cd csu33012-2526-project23
-
Set up environment:
- Install IDE (e.g., VSCode)
- Get OpenAI API key
- AI API calls require valid OPENAI_API_KEY AND ENOUGH CREDIT
- Set as environment variable
-
Database Setup (MySQL)
Before starting the backend, run this script to create the database, user, and permissions:
- Make the setup script executable:
chmod +x setup-database.sh
- Run the script:
./setup-database.sh
This script will: create the aichat_db database create the MySQL user aichat_user with password aichat_pass grant all required privileges
-
Run backend: <<<<<<< HEAD
mvn spring-boot:run
-
Runs on port 8080 =======
-
run these commands so your .env file will be read by the program source .env mvn clean install source .env
-
then run this line to start the backend
mvn spring-boot:run
- you should see a message like:
- Runs on port 8080
- optional: check the 'ports' tab to see that this port is up and running
-
632baa1304b9f5bf2c200e5a9c5e9e0e40e04c94
- Access to Coder workspace
- Backend running on port 8080
- Add to frontend/.env: DANGEROUSLY_DISABLE_HOST_CHECK=true
- OpenAI API key set as environment variable
- Terminal → New Terminal in VSCode/Coder
- Prompt: hshe@workspaces:~$
cd /csu33012-2526-project23/frontend
Prompt: hshe@workspaces:/csu33012-2526-project23/frontend$
npm install
- Downloads required React libraries
npm start
- Wait for "Compiled successfully!"
- Local: http://localhost:3000
- Keep terminal open
Method 1: PORTS tab → find port 3000 → click URL Method 2: Replace 8080 with 3000 in backend URL → paste in browser
- Title: "AI Study Assistant"
- Text box: "Enter your study material here..."
- Buttons: "Generate Flashcards" & "Generate Quiz"
- Tabs: "Flashcards (0)" & "Quiz (0)"
- AI API calls require valid OPENAI_API_KEY AND ENOUGH CREDIT
- Generate Flashcards: Paste material → Click "Generate Flashcards" → View results
- Generate Quiz: Paste material → Click "Generate Quiz" → Click Quiz tab → View questions
- Ctrl+C in terminal running npm start
- "Cannot find module" → npm not installed
- "Port 3000 in use" → Stop other instances or pkill -f node
- "Invalid Host Header" → Ensure .env contains DANGEROUSLY_DISABLE_HOST_CHECK=true
- Buttons fail → Backend not running
- Blank page/errors → Stop frontend, run npm start again
cd ~/csu33012-2526-project23/frontend npm install # first time only npm start Ctrl+C # stop frontend pkill -f node # if port in use
- AI API calls require valid OPENAI_API_KEY AND ENOUGH CREDIT
- May need IDE/terminal restart for env variables
Name: Tomas Audejaitis Email: audejait@tcd.ie Role: CI/CD and DevOps, README, merging Hao She: AI creation and application Abdul: data storage and file upload Ngo Hung: backend Fiachra: Frontend