Highlights
- Automated scraping of 9,700+ cryptocurrency listings via Puppeteer
- Redis caching layer for exchange rate API calls
- Passport.js authentication with bcrypt password hashing
- Docker Compose orchestration with 4 services
- Nginx reverse proxy with SSL and health checks
- Separate dev and production Docker configurations
About This Project
A full-stack cryptocurrency portfolio management application featuring real-time price tracking, automated web scraping, user authentication, and containerized deployment.
The backend scrapes cryptocurrency data from CoinMarketCap using Puppeteer, processing thousands of listings and storing them in MongoDB. Users can create accounts, build portfolios, and track holdings with live price updates. Exchange rates are fetched from OpenExchangeRates with a Redis caching layer to minimize API calls.
The application is fully containerized with Docker Compose, running MongoDB, the Node.js app, an Nginx reverse proxy, and the scraper as separate services. Separate Docker Compose configs handle development (hot-reload, exposed ports) and production (restart policies, health monitoring).