Skip to content

HemanthNidamanuru/Course-Resource-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Course Resource Library (CRL)

The Course Resource Library (CRL) is a full-stack MERN application designed to manage online courses, handle video content, conduct quizzes, generate certificates, and also provide book borrowing features like a library system. It supports Admin and Student roles with secure login and role-based access.


Features

Student

  • Signup/Login and authentication
  • Browse available courses and register
  • Track video content progress
  • Take quizzes based on course content
  • Automatically receive success email after passing
  • View/download certificates (upcoming)
  • Borrow books and track borrowed list

Admin

  • Add/edit/delete courses
  • Add course content (video links)
  • Add quizzes
  • View registered students per course
  • View book management dashboard
  • View course analytics (enrolled, completion %)

Project Structure

FINALPROJECT/
│
├── backend/           # Express.js backend + MongoDB
│   ├── models/
│   ├── controllers/
│   ├── routes/
│   ├── utils/
│   └── index.js
│
└── frontend/          # React frontend
    ├── src/
    │   ├── pages/
    │   ├── components/
    │   ├── App.js
    │   └── index.js

Tech Stack

  • Frontend: React.js, Axios, React Router, Toastify
  • Backend: Node.js, Express.js
  • Database: MongoDB + Mongoose
  • Authentication: JWT
  • Email: Nodemailer
  • Certificate Generation: (Optional: jsPDF or HTML to PDF library)
  • UI: Custom CSS

How to Run the Project

1. Clone the Repository

git clone https://github.com/yourusername/finalproject.git
cd finalproject

2. Backend Setup

Install dependencies:

cd backend
npm install

Create .env file:

PORT=5000
MONGO_URI=mongodb://localhost:27017/crl
JWT_SECRET=your_jwt_secret
ADMIN_KEY=admin_secret_key
EMAIL_USER=your_email@example.com
EMAIL_PASS=your_email_password

Start the backend:

npm start

Backend runs at http://localhost:5000


3. Frontend Setup

Install dependencies:

cd ../frontend
npm install

Start the frontend:

npm start

Frontend runs at http://localhost:3000


Sample Admin Login

Email: admin@example.com
Password: admin123

Sample Courses to Add

  • Python Programming
  • Full Stack Development
  • Machine Learning
  • Cyber Security
  • Cloud Computing

Future Enhancements

  • Downloadable certificates using jsPDF
  • Admin upload support for PDFs/YouTube links
  • Dark mode toggle
  • Search/filter for courses and books

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published