Skip to content

bushraqurban/LearnStream

Repository files navigation

LearnStream Logo

Kaggle Live Website Status

Homepage Screenshot The main homepage where users can choose a course.

Recommendation Screenshot The recommendation page showing course suggestions based on the user input.

Objective

The LearnStream website is designed to help users find Coursera courses tailored to their interests and learning goals. Key features include:

  • Personalized Course Recommendations: Based on user input, the website provides course suggestions that match the entered course name.
  • User-Friendly Interface: The website offers a simple and intuitive interface that allows users to easily explore courses and get relevant suggestions.
  • Responsive: The website’s layout and components automatically adjust to the user’s device screen size.

Setup and Installation

Follow these steps to get your local environment up and running:

  1. Clone the repository:
git clone https://github.com/yourusername/LearnStream.git
cd LearnStream
  1. Create and activate a virtual environment (optional but recommended):

    On Mac/Linux:

    python3 -m venv venv
    source venv/bin/activate

    On Windows:

    python -m venv venv
    .\venv\Scripts\activate    
  2. Install the required dependencies:

pip install -r requirements.txt
  1. Run the Flask application:
python3 app.py # On Mac/Linux
python app.py # On Windowns

After running the application, visit http://127.0.0.1:5000/ in your browser to view the app.

How It Works

LearnStream uses content-based filtering to provide personalized Coursera course recommendations. By leveraging course details (e.g., names, descriptions, ratings, and skills) in a similarity matrix, the system dynamically suggests courses tailored to individual learning goals.

How To Use

  1. Input: Users can select a course from a dropdown menu, which is dynamically populated with course names.
  2. Processing: Once a course is selected, the website processes the request and uses the backend to find and recommend similar courses.
  3. Output: The app displays recommended courses links along with details like ratings, institutions, and difficulty levels.

Folder Structure

LearnStream/
│
├── app.py               # Flask application (backend logic)
├── templates/           # HTML templates
│   ├── index.html       # Home page template
│   └── recommendations.html  # Recommendations page template
├── static/              # Static files (CSS, images, etc.)
│   ├── css/
│   │   └── styles.css   # Styling for the web pages
│   └── images/
├── models/              # Pretrained models for recommendation
│   ├── similarity_matrix.pkl  # Precomputed similarity matrix
├── notebooks/           # Jupyter notebooks
│   └── model_training.ipynb  # Notebook for training model
├── data/                # Raw data files
│   └── coursera.csv     # Course data containing course details
├── data_loader.py       # Loads the course data and similarity matrix
├── helper.py            # Contains helper functions for data preprocessing and recommendations
├── requirements.txt     # List of required dependencies
└── README.md            # Project documentation

Technologies Used

  • Python: The core programming language for backend logic.
  • Flask: For building the backend web application.
  • HTML5 & CSS3: For structuring and styling the web pages.
  • Jinja2: For rendering dynamic HTML templates.

License

This project is licensed under the MIT License. See the LICENSE file for more details.