File size: 5,708 Bytes
a8a7b69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# EduVerse — Project Documentation (For Professor)

## Project Overview

**EduVerse** is a role-based education SaaS platform consisting of a React + Vite frontend and a Nest/Node backend (Docker-friendly). The platform supports courses, assignments, labs, quizzes, attendance, scheduling, notifications, and role-based dashboards for students, instructors, TAs, and admins.

This single-file documentation is designed as a compact guide you can present to your professor. It contains a summary of the system, how to run it locally, key design/architecture notes, where to find detailed docs in the repository, and recommended demo steps.

## Repositories / Components

- **Backend**: repository root (this folder). Core API, database migrations, and scripts. See [eduverse-backend/README.md](eduverse-backend/README.md#L1).
- **Frontend**: separate folder at [eduverse](../Frontend/eduverse). Web app built with React + Vite. See [eduverse/README.md](../Frontend/eduverse/README.md#L1).

## Tech Stack

- Frontend: React, Vite, Tailwind CSS, React Router, React Query
- Backend: Node/NestJS (Dockerized), PostgreSQL (SQL files and migrations present)
- Tests: Vitest (frontend), Jest/others may be present in backend

## Quick Demo Goals (what to show your professor)

1. Landing and login flows for two roles (student and instructor)
2. Instructor creates an assignment or publishes content
3. Student submits an assignment and instructor views grading workflow
4. Schedule/attendance view and a simple analytics/dashboard screen
5. Show deployment readiness: Dockerfile, migrations, and build scripts

## Local Setup (minimal steps)

Prerequisites:

- Node.js 18+ (frontend)
- npm or yarn
- Python/venv only if backend scripts require it (see backend README)
- PostgreSQL locally if you want a full DB-backed demo (SQL files provided)
- Docker (optional, recommended for isolating services)

Backend (this repository)

1. Install dependencies (if Node backend):

```bash
cd "d:/Graduation Project/Backend/eduverse-backend"
npm install
```

2. If there is a local virtual environment or other setup script, consult [eduverse-backend/README.md](eduverse-backend/README.md#L1) and the `scripts/` directory.

3. Database: Use the provided SQL files to create schema. Example files include `eduverse_db.sql` and many `DB_CHANGES_*.sql` migration files in the root. To load a file into PostgreSQL:

```bash
psql -U youruser -d yourdb -f eduverse_db.sql
```

4. Start backend (example command — adjust to repo's scripts):

```bash
npm run start:dev
# or docker-compose up (if a docker setup exists)
```

Frontend

1. Install and run:

```bash
cd "d:/Graduation Project/Frontend/eduverse"
npm install
npm run dev
```

2. The frontend uses a dev proxy that forwards `/api` to the backend (see Vite config). Ensure backend is running (default proxy target: `http://localhost:8081`).

## Important Files & Documentation (where to find more)

- Project README (backend): [eduverse-backend/README.md](eduverse-backend/README.md#L1)
- Frontend README: [eduverse/README.md](../Frontend/eduverse/README.md#L1)
- API collections: `EduVerse_APIDog_Collection.json` and `EduVerse_Postman_Collection.json` in the backend root — useful for live API demonstration.
- Database SQL and migrations: many files like `eduverse_db.sql`, `DB_CHANGES_*.sql` in backend root.
- Scripts and integrations: `scripts/` and `ai-services/` folders contain integrations and utility code.

## Architecture Summary

- Multi-service architecture with a REST API backend and single-page application frontend.
- Backend exposes role-based endpoints for courses, assignments, schedules, labs, quizzes, attendance, and analytics.
- Frontend consumes the API and renders role-aware dashboards and workflows.
- Data is persisted in PostgreSQL; migrations and SQL files are included.

## Running a Short Demo (recommended sequence)

1. Start database (Postgres) and load schema from `eduverse_db.sql`.
2. Start backend: `npm run start:dev` in [eduverse-backend](eduverse-backend/README.md#L1).
3. Start frontend: `npm run dev` in [eduverse](../Frontend/eduverse/README.md#L1).
4. Open the frontend URL (Vite typically uses `http://localhost:3000`) and log in using seeded/test users (if provided) or create accounts via the UI.
5. Walk through the demo goals listed above.

## Known Documentation & Notes

- There are several detailed docs in the backend root (e.g., `COURSES_ASSIGNMENTS_LABS_BACKEND_API_DOCS.md`, `SCHEDULE_FRONTEND_INTEGRATION_GUIDE.md`, `STUDENT_COURSE_TEAM_ERROR_ANALYSIS.md`). Consult these for deep dives on each area.
- MCP and experimental tools live in `mcp-servers/` in the frontend repo.

## Deliverables to Show

- This consolidated document (file you are reading).
- Live running demo (frontend + backend) — follow demo steps above.
- API Postman/APIDog collections: `EduVerse_APIDog_Collection.json` and `EduVerse_Postman_Collection.json`.
- Key design docs in repository (linked above).

## Troubleshooting Tips

- If the frontend dev server can't reach the backend, verify `vite.config.js` proxy and backend port (backend default proxy target: `http://localhost:8081`).
- Build issues on Vercel or CI: check import path casing and Node version (Node 18+ recommended).
- If DB migrations fail, inspect the `DB_CHANGES_*.sql` files for ordering and dependency issues.

---

If you want, I can:

- Extract and paste selected sections from the detailed docs into this file, or
- Create a short slide-style README with screenshots and exact demo user credentials (if seed data exists), or
- Commit this file and open a PR with the consolidated documentation.

Tell me which of the above you prefer and I'll continue.