Task FullStack Developer
Task FullStack Developer
Task Description:
Develop a simple Student Management System using the MERN stack. The system should
allow registration of students, courses, and teachers. Students can enroll for courses, and
each course should have one assigned teacher. All forms should have proper validations.
Additionally, implement optional features such as linking a payment gateway to course
enrollment, profile picture upload and allowing students to upload their homework for enrolled
courses.
Requirements:
1. Registration:
○ Students, courses, and teachers should be able to register with basic
information such as name, email, and password.
○ Students and teachers should be able to upload a profile picture during
registration.
2. Course Enrollment:
○ Students should be able to enroll for available courses.
○ Each course should have one assigned teacher.
3. Optional: Payment Gateway Integration:
○ Integrate a payment gateway for course enrollment.
○ Upon successful payment, allow students to enroll for the course.
4. Optional: Homework Upload:
○ Implement a feature for students to upload their homework for enrolled courses.
○ The uploaded homework should be associated with the respective course and
student.
1|Page
GS3 Task Description Full-Stack Developer
Backend Components:
Frontend Components:
Integration:
● Multer with Express.js: Integrate Multer middleware into Express.js for handling file
uploads (You can save uploaded files in the server with proper directories).
● Mongoose with Node.js: Use Mongoose in Node.js applications for interaction with
MongoDB.
● JWT Tokens and Bcrypt with Authentication: Implement JWT tokens and Bcrypt for
secure authentication and authorization.
● React.js with Material-UI and Redux: Develop the frontend using React.js with
Material-UI components and manage application state using Redux.
● React Hook Form with Form Management: Integrate React Hook Form alongside
other frontend libraries for managing forms in React.js.
2|Page
GS3 Task Description Full-Stack Developer
Evaluation Criteria:
Note:
END
3|Page