Skip to content

acm-projects/D.I.Y.A

Repository files navigation

D.I.Y.A — Digital Intake Yielding Answers

An AI-powered academic platform connecting students and professors. Students can join class groups, post forum questions, request office hours, and self-check assignments. Professors can manage groups, review student requests, analyze engagement, and schedule events.


Project Structure

├── client/               # Student-facing React app (original)
│   ├── public/           # Static assets (logo, icons)
│   ├── src/              # Student page components + routing
│   └── package.json
├── server/               # Backend (Node.js)
│   └── server.js
├── src/                  # Main unified React app (student + professor)
│   ├── app/
│   │   ├── components/
│   │   │   ├── student/  # All student pages
│   │   │   └── ...       # Professor pages
│   │   ├── App.tsx
│   │   └── routes.tsx
│   ├── imports/
│   └── styles/
├── .env                  # Environment variables (DO NOT COMMIT)
├── .gitignore
├── index.html            # Vite entry point
├── package.json
└── vite.config.ts

Getting Started

Prerequisites

  • Node.js v18+
  • npm v9+

Installation

# From the root of the project
npm install

Running the dev server

npm run dev

Then open http://localhost:5173 in your browser.

Build for production

npm run build

Environment Variables

Copy .env.example to .env and fill in your values:

cp .env.example .env

Never commit .env to GitHub.


Routing

Path Page Role
/ Landing page All
/login Login All
/signup Sign up All
/groups Student groups Student
/groups/:id/forum Forum Student
/office-hours Office hours booking Student
/self-check AI grade self-check Student
/profile Student profile Student
/professor Professor dashboard Admin
/forum/:groupName Professor forum view Admin
/analysis/:groupName Engagement analysis Admin
/requests/:groupName Student requests Admin
/calendar/:groupName Class calendar Admin

Contributing

  • Create a feature branch off main
  • Keep PRs small (~50-100 lines where possible)
  • At least 1 reviewer required before merging to main
  • Do not commit directly to main

About

D.I.Y.A. is a structured office-hours queue and feedback platform designed for high-volume help sessions. The core idea is simple: make requests consistent, reduce duplicates, and help staff prioritize the biggest blockers in real time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages