SmartEd is a web application provides a comprehensive platform for instructors and students to interact and facilitate learning. It will allow individual instructors and educational institutes to create and manage their courses, upload course content, assignments. Students can access course material.
- Individual instructors and educational institutes can create an account and manage their profile. Similarly, students can register and create their profiles.
- Authentication and authorization is made secured using JWT authentication technique
- There's no need to remember password you can just log in via email and OTP
- Moreover there's two step verification via OTP sended to email of user whenever he tries to register or login
- Instructors can create courses and manage course details like course overview, course content, and assignments with deadlines. They can upload course content, including resources such as docs, PDFs, or images
- Students can access all course material once they are enrolled
- Clone the project
git clone https://github.com/anakin-dabir/smartEd.git
- Go to the project directory
cd smartEd
- Install dependencies in both server and client folders
cd client && yarn & cd api && yarn
-
MONGO_DB
mongodb url -
OPTIONS
config options for mongodb -
SERVER
server side url -
CLIENT
client side url -
JWT_SECRET
secret token for JWT creation
- Start both client and server side servers separately by
yarn dev
-
Authentication
HTTP Endpoints Action POST
/auth/getAll To get all users POST
/auth/register To generate otp POST
/auth/resendOTP To request for regeneration of OTP POST
/auth/logout To logout POST
/auth/getUserData To get user data POST
/auth/updateProfile To update user profile -
Courses
HTTP Endpoints Action POST
/course/getSAll To retrieve all courses of instructors as student POST
/course/getAll To retrieve all courses of current instructor POST
/course/getCourse To retrieve data of current course POST
/addContent To add content to the course POST
/course/addCourse To add a new course
- OTPs are stored sessionally and not getting deleted taking the storage space, i wasn't educated about that at that time