Skip to content

Commit b893911

Browse files
committed
Add comprehensive README and environment configuration; implement dynamic environment variable usage across client and server
Signed-off-by: Aditya Raut <araut7798@gmail.com>
1 parent 57dbe14 commit b893911

20 files changed

Lines changed: 296 additions & 331 deletions

README.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# SmartClass
2+
3+
An AI-powered Learning Management System for teachers and students.
4+
5+
---
6+
7+
## Features
8+
9+
### Authentication
10+
- Email registration with OTP verification
11+
- Login with email and password
12+
- Google OAuth sign-in
13+
- JWT-based session management via HTTP-only cookies
14+
15+
### Course Management
16+
- Teachers can create, update, and delete courses
17+
- Students can browse and enroll in courses
18+
- Course materials upload and management
19+
20+
### Assignments
21+
- Teachers create assignments with due dates and max scores
22+
- Students submit assignments
23+
- AI-assisted grading and feedback
24+
25+
### Quizzes
26+
- Teachers create quizzes manually or via AI generation
27+
- Students attempt quizzes with real-time scoring
28+
- Quiz result history and performance tracking
29+
30+
### Live Classes
31+
- Real-time video broadcasting via WebRTC
32+
- Screen sharing support
33+
- Raise hand, lower hand, and emoji reactions
34+
- Chat during live sessions
35+
- Class recordings upload and storage
36+
37+
### Dashboards
38+
- Teacher dashboard: enrolled students, pending submissions, upcoming classes, course stats
39+
- Student dashboard: enrolled courses, pending assignments, quiz completions, upcoming classes
40+
41+
### Notifications
42+
- Real-time in-app notifications via Socket.IO
43+
- Mark all notifications as read
44+
45+
### AI Playground (powered by Claude)
46+
- **Quiz generation** — auto-generate multiple-choice questions from a topic or content
47+
- **Material summarization** — summarize course content in multiple formats
48+
- **Concept explanation** — explain any concept at beginner, intermediate, or advanced level
49+
- **Grading and feedback** — AI reviews student submissions and suggests a score
50+
- **Study schedule creation** — personalized weekly study plan based on courses and weak areas
51+
- **Performance analysis** — analyze quiz scores and assignment grades with recommendations
52+
- **Course outline generation** — generate a full week-by-week course outline for educators
53+
- **Agentic AI** — multi-step AI agent that chains tools to handle complex requests
54+
55+
---
56+
57+
## Installation
58+
59+
### Prerequisites
60+
- Node.js 18+
61+
- MongoDB (local or Atlas)
62+
- Gmail account with an [App Password](https://myaccount.google.com/apppasswords) for email
63+
- Anthropic API key for AI features
64+
- Google OAuth Client ID (optional, for Google sign-in)
65+
66+
### 1. Clone the repository
67+
68+
```bash
69+
git clone https://github.com/adity1raut/SmartClass.git
70+
cd SmartClass
71+
```
72+
73+
### 2. Set up the server
74+
75+
```bash
76+
cd server
77+
npm install
78+
cp .env.example .env
79+
```
80+
81+
Open `server/.env` and fill in the required values:
82+
83+
```env
84+
MONGO_URI=your_mongodb_connection_string
85+
EMAIL_USER=your_gmail@gmail.com
86+
EMAIL_PASS=your_gmail_app_password
87+
JWT_SECRET=a_long_random_secret_string
88+
ANTHROPIC_API_KEY=your_anthropic_api_key
89+
GOOGLE_CLIENT_ID=your_google_client_id # optional
90+
```
91+
92+
Start the server:
93+
94+
```bash
95+
npm run dev
96+
```
97+
98+
The API will be running at `http://localhost:5000`.
99+
100+
### 3. Set up the client
101+
102+
```bash
103+
cd ../client
104+
npm install
105+
cp .env.example .env
106+
```
107+
108+
Open `client/.env` and fill in:
109+
110+
```env
111+
VITE_GOOGLE_CLIENT_ID=your_google_client_id # optional
112+
```
113+
114+
The other values (`BACKEND_URL`, `VITE_API_URL`, etc.) default to `http://localhost:5000` and work out of the box for local development.
115+
116+
Start the client:
117+
118+
```bash
119+
npm run dev
120+
```
121+
122+
The app will be running at `http://localhost:5173`.

Readme.md

Lines changed: 0 additions & 263 deletions
This file was deleted.

0 commit comments

Comments
 (0)