NoSQL_Lab_with_Python_MongoDB

NoSQL Lab with Python & MongoDB

Overview

This project demonstrates how to extract climbing route data from the Camptocamp API, enrich it with weather information from the Meteomatics API, store the result in MongoDB Atlas, and analyze it using Python. The accompanying Jupyter notebook walks through the complete ETL pipeline and shows how MongoDB’s aggregation framework can be used to explore local climbing opportunities around Thun, Switzerland.

Repository Structure

Setup

  1. Clone the repository

    git clone <repository-url>
    cd NoSQL_Lab_with_Python_MongoDB
    
  2. Create a virtual environment and install dependencies

    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
  3. Create a .env file with credentials for MongoDB Atlas and Meteomatics. Example:

    MONGO_USER=your_user
    MONGO_PASS=your_password
    MONGO_DB=campdb
    METEO_USER=your_meteomatics_user
    METEO_PASS=your_meteomatics_pass
    

Running the Notebook

Launch Jupyter and open the notebook:

jupyter notebook notebooks/report.ipynb

Execute the cells sequentially to reproduce the data pipeline. If you only wish to read the results, open notebooks/report.pdf.

For PDF export: Render the notebook as PDF using

quarto render notebooks/report.ipynb --to pdf

Data Sources

Results

The exploratory analysis evaluates 268 climbing routes near Thun. Most routes are graded between 5c and 6a and are fully bolted. Seasonal trends indicate optimal climbing between summer and fall. By aggregating and visualizing the data, the project highlights higher-difficulty routes (grade ≥7.0) around Thun and provides a clear recommendation of top climbs using a Composite Route Index.

Learnings

Working on this project provided hands-on experience with MongoDB Atlas, data transformation using Python, and creating publication-ready reports with Quarto/nbconvert. Diagramming tools such as PlantUML and Eraser were used to illustrate the architecture and dataset structure.


Figures

Architecture of the ETL Pipeline Architecture diagram

Interactive Map: Extreme Climbing Routes near Thun Extreme routes map

MongoDB Schema Diagram UML diagram


PDF Report