arv-anshul / campusx-dsmp

Get all the resources like πŸ”— Links and πŸ—‚οΈ Files of πŸ“ Notes and πŸ““ Notebooks provided in the CampusX's DSMP Course.

Home Page:https://arv-anshul.github.io/campusx-dsmp/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DSMP by CampusX

DSMP By CampusX

Here, you can get all the resources like πŸ”— Links of πŸ“ Notes and πŸ““ Notebooks provided in the DSMP Course.

Author: Anshul Raj Verma

CampusX YouTube Channel CampusX DSMP Website
Built with Material for MkDocs GitHub Badge GitHub Actions Badge Rye Badge

Warning

The listed resource is not suitable for the Unpaid/Free User (who have not bought the course) because it only consists the paid lecture's notes and links which are provided in the description by The Mentor.

πŸ™Œ Praise for this Project

CampusX_Praise.mp4

♻️ Project Workflows

  1. Data Collection: Gathered data from the HTML structure of the course's website.
  2. Script Development: Developed Python scripts responsible for parsing HTML and extracting essential data required for subsequent requests.
  3. HTTP Requests: Performed a series of Http GET requests to the website to obtain session resources, particularly video sessions in the current implementation.
  4. Testing: Implemented a suite of tests for the course_parser.py script to ensure robust and reliable HTML parsing.
  5. Data Structure Maintenance: Maintained the integrity and structure of the acquired data and resources, ensuring they are ready for presentation on a web page.
  6. Documentation and Presentation: Utilized mkdocs along with the mkdocs-material theme/extension to seamlessly generate a professional-looking web page.
  7. Continuous Integration and Deployment (CI/CD): Employed Github Actions to automate the build and deployment processes, ensuring the web page is always up-to-date.
  8. Web Hosting: Leveraged Github Pages as a reliable hosting solution to make the web page accessible to a wider audience.

By following these workflows, the project ensures efficient data extraction, robust testing, proper documentation, and automated deployment, ultimately resulting in a well-maintained and accessible web page hosted on Github Pages.

Downloaded Resources

πŸ₯³ You can get all the course's resources like .pdf, .ipynb, .docx, .pptx, .xlsx and .py files in πŸ—‚οΈ resources directory.

Caution

If you get any problem while opening a file then try to change its file extension. My program is not good at inferring file extension 😞. Otherwise, raise issue.

Resources File Structure
./resources
β”œβ”€β”€ README.md
β”œβ”€β”€ DSMP
β”‚   β”œβ”€β”€ Parent Session1
β”‚   β”‚   β”œβ”€β”€ Lecture1
β”‚   β”‚   β”‚   β”œβ”€β”€ Resource1
β”‚   β”‚   β”‚   └── Resource2
β”‚   β”‚   └── Lecture2
β”‚   β”‚       β”œβ”€β”€ Resource1
β”‚   β”‚       └── Resource2
β”‚   └── Parent Session2
β”‚       └── Lecture1
β”‚           β”œβ”€β”€ Resource1
β”‚           └── Resource2
└── Extra  # Some extra stuffs from course (added manually)

βš™οΈ Project Setup

  1. Clone the repository.
git clone https://github.com/arv-anshul/campusx-dsmp
  1. This project is managed using rye. So, install it using:
curl -sSf https://rye-up.com/get | bash
  1. Rename example.env to .env and define the required environment variables.
πŸ”₯ Prerequisites
  1. You have to purchase the course.
  2. Open the course's website and developer tools of browser.
  3. Go to Networks Tab.
  4. Select the request where the website makes a call for the data to display.
    • In the "Networks" tab, find the request that corresponds to the data retrieval call. You may filter the requests by XHR or fetch type for AJAX requests.
    • Look for the request URL related to fetching data or making an API call.
  5. Copy c_ujwt and SESSIONID values from the cookies headers of that request.
    • Within the selected request, locate the "Headers" tab.
    • Look for the "Cookies" section under "Request Headers" or "Response Headers."
    • Copy the values of c_ujwt and SESSIONID. These are essential for authenticating your requests.
# Define these to construct cookies for making requests
C_UJWT=""
SESSION_ID=""
  1. If you want to fetch resources from the website then run the main.py script. I have written all the steps to fetch the resources of the sub-topics.

You can configure the main.py to fetch different type of resources like "video", "assignment".

rye run fetch
  1. Organise data/ files using rye run organise command. This sorted all the data files as require.

Issues

If you have any issue or query related to this project you can raise here.

About

Get all the resources like πŸ”— Links and πŸ—‚οΈ Files of πŸ“ Notes and πŸ““ Notebooks provided in the CampusX's DSMP Course.

https://arv-anshul.github.io/campusx-dsmp/


Languages

Language:Jupyter Notebook 94.5%Language:HTML 3.4%Language:Python 2.0%