"NahidER School" is a comprehensive extra-curricular school management website designed to facilitate online and offline courses. With three distinct roles – student, teacher, and admin – the platform offers a range of features to enhance the learning experience and streamline administrative tasks.
-
Course Enrollment:
- Easily enroll in both online and offline courses.
-
Course Reviews:
- Provide feedback and reviews for completed courses.
-
Wishlist:
- Add desired courses to a wishlist for future enrollment.
-
Follow Teachers:
- Stay updated by following teachers for notifications and announcements.
-
Profile Management:
- Update personal profile information and credentials.
-
My Flowers:
- View and manage followers who are interested in your courses.
-
My Courses:
- Access a list of assigned courses, both admin-selected and self-selected.
-
User Management:
- Full control over user accounts and permissions.
-
Course Management:
- CRUD operations for managing courses and events.
-
Role Management:
- Change user roles as needed for effective administration.
-
Profile Updates:
- All three roles can update their profiles.
-
Login/Logout Validation:
- Utilize Express Validator for login, logout, and post-related validations.
-
JWT Authorization:
- Implement JSON Web Token (JWT) for secure and token-based authorization.
-
Cookie Handling:
- Efficient handling of cookies for improved user experience.
- React: Building a dynamic and responsive user interface.
- CSS, SCSS, Tailwind CSS: Styling and theming for an aesthetically pleasing design.
- Node.js: Server-side runtime for handling backend logic.
- Express.js: Web application framework for Node.js.
- JWT (JSON Web Token): Secure token-based authorization.
- Express Validator: Middleware for validation in Express applications.
- Mongoose: MongoDB object modeling for Node.js.
- MongoDB: NoSQL database for efficient data storage.
- Netlify (Frontend): Hosting for the frontend application.
- Vercel (Backend): Deploying and hosting the backend server.