SmartUniversityHub is a comprehensive, full-stack university management system designed to streamline academic and administrative processes. It provides tailored experiences for Students, Faculty, and Administrators.
- Frontend: React (Vite), Tailwind CSS, React Router DOM
- Backend: Node.js, Express.js
- Database: Microsoft SQL Server (MSSQL) using Stored Procedures
- Dashboard: Overview of academic progress.
- Courses: Enroll in or drop available courses.
- Attendance: View attendance records.
- Assessments: Submit assignments and view grades.
- Materials: Access course materials and submit upload requests.
- Timetable: View personal class schedules.
- Profile: Manage personal information.
- Fee Management: Check fee details.
- Dashboard: Manage teaching responsibilities.
- Courses: View assigned courses and enrolled students.
- Attendance: Mark and update student attendance.
- Assessments: Create, update, and grade student assignments.
- Materials: Upload and manage course materials for students.
- Timetable: View teaching schedule.
- User Management: Oversee university users and update records.
- Course Management: Create, update, and oversee courses.
- Enrollment: Administratively enroll students in courses.
- Timetable Management: Create, update, and delete class sessions.
POST /api/login- Authenticate userPOST /api/signup- Register new userPOST /api/profile- Get user profilePOST /api/updateProfile- Update own profile detailsPOST /api/admin/updateProfile- Admin updates user profile
POST /api/courses/all- View all coursesPOST /api/courses/student- Get student courses (enrolled/available)POST /api/courses/faculty- View faculty's assigned coursesPOST /api/courses/enroll- Student self-enrollPOST /api/courses/student/drop-course- Student drop coursePOST /api/admin/enroll- Admin enrolls studentPOST /api/admin/course/create- Create new coursePOST /api/admin/course/update- Update course detailsPOST /api/course/students- Get students by course
POST /api/timetable/by_course- Get timetable for a coursePOST /api/timetable/upsert- Insert/Update class sessionDELETE /api/timetable/delete_session- Delete class session
POST /api/assessments/course- Get all assessments for a coursePOST /api/assessments/update- Set/update assessment detailsDELETE /api/assessments/delete- Delete assessmentPOST /api/assessments/submit- Submit an assignmentPOST /api/assessments/submissions- Get all submissions for a coursePOST /api/assessments/submissions/student- Get student's submissionsPOST /api/assessments/grade- Grade a student's submission
POST /api/materials/course- Get materials for a coursePOST /api/materials/add- Upload new materialPUT /api/materials/update- Update existing materialDELETE /api/materials/delete- Delete materialPOST /api/materials/upload-requests- Student requests uploadPOST /api/materials/upload-requests/courses- View upload requestsPOST /api/materials/upload-requests/update- Update request statusDELETE /api/materials/upload-requests/delete- Delete request
POST /api/attendance/by-course- Get student attendancePOST /api/attendance/by-date- Get attendance records for a datePOST /api/attendance/update- Update attendance record
Ensure MSSQL Server is running. The backend relies on stored procedures (e.g., sp_Login, sp_CreateUser, sp_UpdateCourse, etc.). Ensure these are set up in your database. Update the .env and dbconfig.js files in the backend directory with your DB credentials.
cd backend
npm install
npm startThe server will start on http://localhost:3000.
cd frontend
npm install
npm run devThe application will be accessible via the Vite local server (usually http://localhost:5173).