| title | Edutech Dashboard |
|---|---|
| emoji | 🎓 |
| colorFrom | blue |
| colorTo | indigo |
| sdk | docker |
| app_port | 7860 |
| pinned | false |
EduConnect is a premium, full-stack educational platform designed to bridge the communication gap between parents and teachers. With specialized dashboards for Mentors, Subject Teachers, and Parents, it provides real-time analytics, attendance tracking, and performance monitoring in a sleek, modern interface.
EduConnect is a premium, full-stack educational platform designed to bridge the communication gap between parents and teachers. With specialized dashboards for Mentors, Subject Teachers, and Parents, it provides real-time analytics, attendance tracking, and performance monitoring in a sleek, modern interface.
| 🏛️ Mentor Dashboard | 📖 Subject Teacher | 👨👩👧 Parent Portal |
|---|---|---|
| Class Analytics: Visual overview of class performance. | Marks Entry: Efficiently log marks by subject. | Student Insights: Real-time performance & attendance charts. |
| Announcements: Post priority-based class updates. | Attendance: Digital subject-wise attendance tracking. | Automated Alerts: Low marks/attendance notifications. |
| Parent-Teacher Chat: Direct messaging interface. | Subject Trends: Track student progress over time. | Heatmaps: Visual grade analysis for all subjects. |
- Frontend: Vanilla HTML5, CSS3 (Rich Dark Theme), JavaScript (ES6+), Chart.js 4
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose
- Security: JWT (JSON Web Tokens), bcryptjs, Middleware-based Role Protection
- Node.js (v16+)
- MongoDB (Local instance or Atlas Cluster)
# Clone the repository
git clone https://github.com/yourusername/edutech.git
# Navigate to project root
cd edutech
# Install dependencies
npm installCreate a .env file in the root directory:
MONGO_URI=mongodb://127.0.0.1:27017/parent_teacher_db
JWT_SECRET=your_super_secret_key_here
PORT=5000# Start production server
npm start
# For development (with nodemon)
npm run devVisit: http://localhost:5000/login.html
To ensure the relational data (linking parents to mentors) works correctly, follow this exact order when registering new users:
- Register a Mentor Teacher: Assign them a class (e.g.,
10A). - Register Subject Teachers: Assign them the same class (e.g.,
10A) and their specific subject. - Register Parents: Enter the child's name and the exact same class/section (e.g.,
10A). The child will be automatically linked to the class mentor.
Tip
Use npm run seed to populate the database with realistic test data for immediate visualization!
Edutech/
├── frontend/ # UI Components, Styles, and Logic
│ ├── css/ # Premium Dark Theme & Layouts
│ ├── js/ # Role-specific dashboard controllers
│ └── *.html # Semantic HTML5 pages
├── models/ # Mongoose Schemas (User, Student, Marks, etc.)
├── routes/ # RESTful API Endpoints
├── middleware/ # Auth & Role-based Access Control
└── server.js # Express server entry point| Endpoint | Method | Role | Description |
|---|---|---|---|
/api/register |
POST |
Public | User registration |
/api/login |
POST |
Public | Authentication & JWT issue |
/api/parent/marks |
GET |
Parent | Retrieve child's academic performance |
/api/mentor/announcement |
POST |
Mentor | Broadcast class-wide updates |
/api/chat/send |
POST |
Auth | Secure messaging |
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.