Skip to content

Repository files navigation

TLEF ENGE AI

Node.js TypeScript Express MongoDB Qdrant Passport

EngE-AI is an AI-powered learning assistant for UBC Engineering courses which emphasizes on developing student's critical thinking.

Features

Instructor

  • Course creation and management
  • Document upload (PDF, DOCX) for RAG
  • Learning objectives and materials
  • Flags management and responses
  • Student chat monitoring
  • Assistant and system prompts configuration
  • Optional Writing Feedback workspace for staff-reviewed, evidence-based feedback and PDFs (A2 LLED 200 MVP; Canvas/OCR production integrations are gated)

Student

  • Course-aware AI chat
  • Flag creation ("I'm struggling")
  • Flag history

Technical

  • Vector search (Qdrant)
  • Streaming chat responses
  • Session-based authentication
  • MongoDB for courses and users
  • Custom UBC Shibboleth SAML 2.0 authentication strategy for Passport.js

Recent Update


How to Set It Up

Prerequisites

Setup Steps

  1. Clone the repo:

    git clone https://github.com/ubc/tlef-engeai.git
    cd tlef-engeai
  2. Install dependencies:

    npm install
  3. Create a .env file in the project root (use .env.example and update the variables as needed).

  4. Build and run the application:

    • Development: npm run dev (nodemon + BrowserSync; compiles frontend in watch mode)
    • Production: npm run start:prod (runs full build, then starts the server)

    Compiled browser scripts are written to public/dist/ (gitignored). npm start alone does not build them — use npm run start:prod or run npm run build first.


Team

Role Name
Principal Investigator Alireza Bagherzadeh — Associate Professor of Teaching, CHBE
Co-Investigator Amir M. Dehkhoda — Assistant Professor of Teaching, Materials Engineering
Software Developer Richard Tape
Software Developer Charisma Rusdiyanto
Software Developer Kathleen Tom
Software Developer Christopher Rodas

How to Contribute

  1. Create a feature branch
  2. Follow existing code style (TypeScript, Express patterns)
  3. Submit a pull request

For API reference, see documents/ENDPOINT_ARCHITECTURE.md.


Documentation


Continuous Integration

Pushing to the main branch in this repo will trigger a deploy automatically to the staging server.

The staging deploy step must run npm run start:prod (or npm run build then npm start). Without a frontend build, login and app pages will 404 on /dist/public/scripts/... assets.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages