Skip to content

An web application designed to recommend courses based on a user's programming background and preferences. The application uses a machine learning model to predict the best courses for users. With a backend server, a frontend application, and a Python-based prediction model.

Notifications You must be signed in to change notification settings

kaloa2025/AdaptEd

Repository files navigation

AdaptEd

This project is a web application designed to recommend courses based on a user's programming background and preferences. The application uses a machine learning model to predict the best courses for users, which are then displayed in a user-friendly interface. The project includes a backend server, a frontend application, and a Python-based prediction service.

Table of Contents

Features

  • User Authetication
  • User can input their programming background and preferences.
  • Machine learning model predicts a score based on user input.
  • Courses are recommended based on the predicted score.
  • User gives a quiz prior to enrolling in a course.
  • Quiz generates a score which categorizes user in different levels.
  • Based on levels user are suggested to start course from specific Lecture number.
  • User-friendly interface to display recommended courses.
  • Easy Navigation

Tech Stack

  • Frontend: React.js, CSS
  • Backend: Node.js, Express
  • Machine Learning: Python (pandas, joblib)
  • Database: MongoDB (Atlas)

Installation

Prerequisites

  • Node.js and npm installed
  • Python installed
  • MongoDB database set up

Steps

  1. Clone the repository:
git clone https://github.com/your-username/adapted-course-recommendation.git
cd adapted-course-recommendation
  1. Set up the backend:
cd backend
npm install
  1. Set up the frontend:
cd ../frontend
npm install
  1. Set up the Python environment:
cd ../Prediction
pip install -r requirements.txt
  1. Load the machine learning model:

Place the prediction_model.pkl file in the Prediction directory.

  1. Set up environment variables:

Create a .env file in the backend directory with the following content:

MONGODB_URI=your_mongodb_connection_string

Usage

Running the Backend Server

cd backend
nodemon index.js

Running the Frontend Application

cd frontend
npm start

Running the Prediction Service

cd Prediction
streamlit run predict.py

Project Structure

adapted-course-recommendation/
│
├── backend/
│   ├── routes/
│   ├── models/
│   ├── controllers/
│   ├── index.js
│   └── .env
│
├── frontend/
│   ├── src/
│   │   ├── components/
|   |   |   |── screens/
│   │   ├── contexts/
│   │   ├── hooks/
│   │   ├── styles/
│   │   ├── App.js
│   │   └── index.js
│   ├── public/
│   └── package.json
│
├── Prediction/
│   ├── predict.py
│   └── prediction_model.pkl
│
├── README.md
└── .gitignore

Happy coding! 😊

This README provides a comprehensive overview of your project, including installation and usage instructions, which should help users get started quickly. Make sure to replace placeholders like your-username and your_mongodb_connection_string with the actual values.

See Working Here

https://youtu.be/EpBzKjrsVRE

SCREENSHOTS


Pre_Planning3 Pre_Planning Pre_Planing2

Figma DB_Structure wireframe

Landing_Page Course_Detail_page Suggested_Page Screenshot 2024-06-02 220403

Python_Folder_Structure Project_Structure Terminals

About

An web application designed to recommend courses based on a user's programming background and preferences. The application uses a machine learning model to predict the best courses for users. With a backend server, a frontend application, and a Python-based prediction model.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •