
Project Overview
A web platform for English learners to register for and manage online courses with FetchEnglish. Once registered, students and teachers can log in to track lesson progress and review feedback after each class.
Tech Stack
Frontend EJS templates with HTML and Bootstrap 4 for UI renderingBackendNode.js with Express for RESTful API design and request handlingMongoDB for persistent storage of users, courses, lessons, and feedbackPassport-local-mongoose for authentication, password hashing, and session managementInfrastructure Heroku for application deployment and hostingFeatures
Authentication system with session-based login, secure password hashing, and role-aware accessProtected routes enforced via custom Express middlewareCourse and lesson progress tracking with stored feedback per sessionEmail workflows (registration, notifications) implemented using SendGrid