Web platform · Bouldering

Zarzalejo Boulder On-Line

Web platform for managing, exploring, and bringing together the Zarzalejo bouldering community.

The project

A web application built to centralize information about bouldering in Zarzalejo and provide a platform for exploring boulders and sectors, logging completed climbs, taking part in the community, and managing application content.

End-to-end project development: architecture, backend, frontend, database, maps, user features, administration, security, and deployment.

Architecture

Web architecture based on Nginx, Gunicorn, Flask, and PostgreSQL/PostGIS.

Development

Backend

Python Flask SQLAlchemy Flask-Login Alembic

Frontend

HTML CSS JavaScript Leaflet Plotly

Database

PostgreSQL PostGIS

Features

Geolocation

Use of PostgreSQL/PostGIS to store and manage geographic information about sectors and boulders, integrated with interactive maps using Leaflet.

Statistics

A statistics and data visualization system covering user activity and completed climbs.

Users and authentication

User system with profiles, authentication, email verification, privacy controls, and access management.

Security

Implementation of authentication, access control, session protection, email verification, rate limiting, and HTTP security measures.

Administration

Administration panel for managing and moderating platform content and users.

Infrastructure

Linux Nginx Gunicorn Redis

Technologies

Python Flask PostgreSQL PostGIS SQLAlchemy JavaScript Leaflet Plotly Pillow Redis Nginx Gunicorn Linux

Highlights

Deployment

Application deployed on Linux using Nginx and Gunicorn, with PostgreSQL/PostGIS as the database system and Redis for supporting services.