Skip to content

FarhanZafarr-9/SmartUniversityHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🎓 SmartUniversityHub

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.

🚀 Tech Stack

  • Frontend: React (Vite), Tailwind CSS, React Router DOM
  • Backend: Node.js, Express.js
  • Database: Microsoft SQL Server (MSSQL) using Stored Procedures

✨ Key Features

👤 Student Portal

  • 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.

👨‍🏫 Faculty Portal

  • 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.

🛡️ Admin Portal

  • 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.

🔌 API Routes

Authentication & Users

  • POST /api/login - Authenticate user
  • POST /api/signup - Register new user
  • POST /api/profile - Get user profile
  • POST /api/updateProfile - Update own profile details
  • POST /api/admin/updateProfile - Admin updates user profile

Courses

  • POST /api/courses/all - View all courses
  • POST /api/courses/student - Get student courses (enrolled/available)
  • POST /api/courses/faculty - View faculty's assigned courses
  • POST /api/courses/enroll - Student self-enroll
  • POST /api/courses/student/drop-course - Student drop course
  • POST /api/admin/enroll - Admin enrolls student
  • POST /api/admin/course/create - Create new course
  • POST /api/admin/course/update - Update course details
  • POST /api/course/students - Get students by course

Timetable

  • POST /api/timetable/by_course - Get timetable for a course
  • POST /api/timetable/upsert - Insert/Update class session
  • DELETE /api/timetable/delete_session - Delete class session

Assessments

  • POST /api/assessments/course - Get all assessments for a course
  • POST /api/assessments/update - Set/update assessment details
  • DELETE /api/assessments/delete - Delete assessment
  • POST /api/assessments/submit - Submit an assignment
  • POST /api/assessments/submissions - Get all submissions for a course
  • POST /api/assessments/submissions/student - Get student's submissions
  • POST /api/assessments/grade - Grade a student's submission

Course Materials

  • POST /api/materials/course - Get materials for a course
  • POST /api/materials/add - Upload new material
  • PUT /api/materials/update - Update existing material
  • DELETE /api/materials/delete - Delete material
  • POST /api/materials/upload-requests - Student requests upload
  • POST /api/materials/upload-requests/courses - View upload requests
  • POST /api/materials/upload-requests/update - Update request status
  • DELETE /api/materials/upload-requests/delete - Delete request

Attendance

  • POST /api/attendance/by-course - Get student attendance
  • POST /api/attendance/by-date - Get attendance records for a date
  • POST /api/attendance/update - Update attendance record

🛠️ Local Setup & Installation

1. Database Configuration

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.

2. Backend Setup

cd backend
npm install
npm start

The server will start on http://localhost:3000.

3. Frontend Setup

cd frontend
npm install
npm run dev

The application will be accessible via the Vite local server (usually http://localhost:5173).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages