SkiPri.com
Next.js, React, FastAPI, PostgreSQL, AWS Cognito, AWS S3, CloudFront, Python
SkiPri.com is a platform for comparing ski pass prices across French resorts, with a filterable interface to find the best deals and an admin dashboard to manage resort data and oversee the scraping pipeline.
This project covers the full chain: automated data collection from multiple sources, a secure backend API, and a statically exported web app deployed on AWS.
Features
- Ski pass price comparison interface, filterable by resort
- Admin dashboard (AWS Cognito) to manage resort data and monitor the scraping pipeline
- Automated data collection pipeline aggregating multiple sources
- Secure REST API with server-side token validation
Architecture & tech stack
- Frontend: Next.js 16 (React 19), Tailwind CSS 4, static export
- Backend: FastAPI (Python), SQLAlchemy 2, PostgreSQL
- Authentication: AWS Cognito
- Database: PostgreSQL
- Data collection: Python scrapers (BeautifulSoup, pdfplumber, pandas, httpx)
- Hosting: frontend on S3 + CloudFront, backend on AWS
Highlights
- Designed a multi-source scraping pipeline (PDF extraction, parsing, staging, and synchronization into canonical tables with resort name alias handling)
- Built the FastAPI backend with Cognito authentication and a clear split between public reads and admin access
- Modeled the database for resorts, prices, and data sources
- Set up AWS infrastructure (S3, CloudFront) for a fast, statically exported frontend