This project is a web-based assignment management system designed to streamline the assignment creation, submission, and grading process for educational institutions. It offers secure and user-friendly interfaces for administrators, teachers, and students.
- Secure logins with passwords and email checkups.
- Two-factor authentication using magic link for enhanced security.
- Access control based on user roles (admins, teachers, students).
- Manage user accounts (add, delete, edit) for teachers and students.
- Grant or revoke admin privileges for other users.
- View and manage all user details (teachers, students) with filtering options (department, semester).
- Create and manage assignments for specific courses/subjects.
- View assigned students based on department and semester.
- Track submission status (submitted/not submitted) for each assignment.
- Grade submitted assignments and provide feedback to students (real-time).
- View assigned tasks based on their enrolled courses/departments and semesters.
- Submit assignments by uploading response files.
- View assignment grading status and feedback provided by teachers (real-time).
- All data updates (assignments, submissions, grades) are reflected instantaneously across all dashboards, ensuring everyone has the latest information.
- Supabase Storage provides a user-friendly interface for teachers and students to upload and manage assignment files.
- Leveraging AWS S3 for efficient and scalable file storage.
- React JS (main library)
- NextUI (component library)
- Redux Toolkit (state management)
- Axios (HTTP client)
- dayjs (date/time manipulation)
- FilePond (file upload library)
- Framer Motion (animation library)
- Tailwind CSS (utility-first framework)
- PostCSS (CSS preprocessor)
- Autoprefixer (adds vendor prefixes)
- Vite (build tool)
- ESLint (linting)
- Vitest (testing)
- Supabase (Backend-as-a-Service)
- Vercel (deployment platform)
- Live Link: Manage Assignments
- GitHub Repository: Assignment-Management-System
Ensure you have the following installed:
- Node.js (v14 or higher)
- npm or yarn
-
Clone the Repository:
git clone https://github.com/Soumya-0x000/Assignment-Management-System
-
Navigate to the project directory:
cd Assignment-Management-System
-
Install the dependencies: Choose one of the following commands:
npm install
or
yarn install
Create a file named .env
in the root of the project directory. This file will store your Supabase environment variables. You can find instructions on obtaining these values in the Supabase documentation.
Add the following lines to your .env
file, replacing the placeholders with your actual values:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_KEY=your_supabase_anon_key
VITE_SERVICE_ROLE_KEY=your_supabase_service_role_key
Start the development server using:
npm run dev
or
yarn start
Open http://localhost:3000 in your browser to view the application.