Skip to content

TCU-DCDA/english-advising-wizard

Repository files navigation

Engelina — AI-Powered Degree Planning for English Students

Live: english.digitcu.org

The Problem

English majors at TCU choose from three degree tracks — English, Writing & Rhetoric, and Creative Writing — each with distinct requirement structures, lower-division caps, and elective rules. Advisors field the same mechanical questions every semester: "What counts toward my major?" "Am I on track?" "What should I take next?" These questions have deterministic answers that don't require a human, but currently only a human can answer them.

The Solution

Engelina is a degree-planning wizard with a built-in AI chat assistant. Students walk through their completed coursework, plan upcoming semesters with real-time offering data, and get a progress dashboard — all without logging into any university system.

  • For students: Self-service degree planning that validates requirements, flags scheduling issues, and answers questions about courses, careers, and degree progress via an AI assistant — available 24/7.
  • For advisors: Students arrive at appointments with a pre-built degree plan (PDF or email), shifting conversations from mechanical audits to mentoring.

How AI Is Used

Engelina integrates an AI chat assistant powered by Sandra, the shared backend for the Advising Ecosystem. The AI receives live context from the wizard — completed courses, remaining requirements, progress, and current offerings — and uses this to provide grounded, program-specific responses rather than generic advice.

This repo holds the source of truth manifest schema at schemas/manifest.schema.json. Other wizards and Sandra validate against it.

Key Features

  • Requirements tracking with interactive checkboxes and progress visualization
  • Term-aware planning — courses offered this semester are badged and sorted to top
  • Semester-by-semester suggested plans calibrated to expected graduation date
  • Prerequisite mapping with visual course sequence chains
  • AI chat panel for questions about requirements, careers, and course selection
  • PDF/email export of completed degree plans for advisor review
  • Admin panel for managing courses, offerings, and analytics without code changes
  • Privacy by design — no student login, no access to official student records, course planning stored locally in the browser

Majors Covered

Major Total Hours Max Lower-Division
English 33 hrs 9 hrs
Writing & Rhetoric 33 hrs 9 hrs (12 for Fall 2025 declares)
Creative Writing 33 hrs 3 hrs

Local Development

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production (includes manifest generation)
npm run build

# Preview production build
npm run preview

Integration: Advising Ecosystem

This wizard publishes an advising manifest consumed by Sandra, the shared AI chat layer in the Advising Ecosystem. Sandra powers the built-in chat panel where students can ask questions about requirements, careers, and course selection.

Manifest generation

# Generate manifest only
npm run generate-manifest

The build script runs manifest generation automatically before vite build.

Key files

File Purpose
scripts/generate-manifest.js Reads src/data/*.json, produces public/manifest.json
schemas/manifest.schema.json Schema v1.0 (source of truth for all wizards)
public/manifest.json Generated output — 3 programs
src/data/offerings-sp26.json Spring 2026 course offerings (generated by course-scraper)
src/data/contacts.json Department contacts
src/data/career-options.json Career paths per major

Schema governance

  • This repo holds the source of truth schema at schemas/manifest.schema.json
  • Other wizards and Sandra copy this schema and CI-check their version against it

Admin Panel

A password-protected admin interface is available at /#/admin for managing data without code changes.

Live: https://english.digitcu.org/#/admin

Tabs

Tab Firestore Doc Description
Analytics english_analytics, english_submissions Anonymous usage metrics — wizard starts, step funnel, program popularity, exports
Courses english_config/courses Course catalog (194 courses: ENGL, WRIT, CRWT)
Programs english_config/programs Degree requirements for all 3 majors
Offerings english_config/offerings_* Per-semester course offerings
Frequency english_config/frequency Course offering patterns across semesters

Authentication

  • Google OAuth via shared Firebase project (dcda-advisor-mobile)
  • Email whitelist: c.rode@tcu.edu, 0expatriate0@gmail.com

Data Architecture

  • Firestore-first with static JSON fallback — the student-facing wizard reads live from Firestore; if Firestore is unavailable (offline/PWA), it falls back to the bundled static JSON files in src/data/
  • All admin editors support Import/Export JSON for bulk data management

Tech Stack

  • React 19 + TypeScript 5.9
  • Vite 7
  • Tailwind CSS
  • Radix UI (shadcn/ui)
  • Firebase (Auth, Firestore, Hosting)
  • Lucide React Icons

Deployment

  • Hosting: Firebase Hosting (site: english-advising-wizard)
  • Live URL: https://english.digitcu.org
  • Deploy: npm run build && npx firebase-tools deploy --only hosting
  • CI/CD auto-deploys on push to main via GitHub Actions

Data Source

Course requirements are based on TCU English Department advising grids (Spring 2026). Official advising page: https://addran.tcu.edu/english/academics/advising/

Maintenance Notes

  • Updating Offerings for a New Semester: From course-scraper/, run node scrape.mjs -t "Fall 2026" -s ENGL,CRWT,WRIT -l 49999 -o ../english-advising-wizard/src/data/offerings-fa26.json. Then import the JSON via the admin Offerings tab (or update src/services/courses.ts for the static fallback).
  • Updating Requirements: Edit via the admin Programs tab, or edit src/data/programs.json directly.
  • Updating Contacts/Careers: Edit src/data/contacts.json and src/data/career-options.json, then run npm run generate-manifest.
  • Updating Course Catalog: Use the admin Courses tab to add/edit/remove courses, or import a JSON array via the Import button.

License

MIT — see LICENSE.

About

Engelina — interactive degree planner for English, Creative Writing, and Writing & Rhetoric. TypeScript, React, Vite, Firebase.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors