Skip to content

AasthathecoderX/PriceLens

Repository files navigation

PriceLens: Cloud Native Product Intelligence Platform

PriceLens is a microservice-based system for tracking, comparing, and forecasting product prices across Amazon and Flipkart. Built as a successor to a monolithic predecessor, this project demonstrates a modern Clean Architecture approach to distributed systems.


🏗️ Architecture Overview

PriceLens is designed as a collection of independent, bounded contexts:

  • Frontend: React + TypeScript + TailwindCSS
  • Backend: FastAPI microservices (Auth, Search, Tracking, Analytics, Notification)
  • Scraping Engine: Distributed Celery workers (Selenium) for Amazon/Flipkart
  • Infrastructure: Orchestrated via Kubernetes; monitored with Prometheus/Grafana
  • Persistence & Cache: PostgreSQL (records) + Redis (cache-aside) + RabbitMQ (queues)

For the full system diagram and data contracts, see docs/architecture.md.


📊 Project Maturity

This project emphasizes production-grade engineering practices, not just functional code.

Status Highlight
Testing ✅ Full CI/CD coverage for all core backend services.
DevOps ✅ Multi-stage Docker builds, Kubernetes StatefulSets, and HPA.
Observability ✅ 8-panel Grafana dashboard for real-time traffic and scrape health.
Readiness ⚠️ Production Readiness Tracker (8/10 items resolved).

🚀 Getting Started

Prerequisites

  • Docker & Docker Compose
  • Node.js 22+
  • Python 3.12+

Quick Local Deployment

  1. Clone & Setup

    git clone https://github.com/your-username/pricelens.git
    cd pricelens
  2. Configure Environment

    Copy .env.example files to .env in each service directory.

  3. Launch Stack

    docker compose up --build
  4. Database Migrations

    docker compose exec auth-service alembic upgrade head
    docker compose exec tracking-service alembic upgrade head
  5. Verify the Installation

    Your services are now running at the following local ports:


📂 Repository Structure

pricelens/
├── frontend/             # React application
├── services/             # Microservices (Auth, Search, Tracking, etc.)
├── infra/                # K8s manifests, Prometheus/Grafana config
└── docs/                 # Architectural deep-dives and readiness tracking

Portfolio Purpose

Built as a portfolio project to demonstrate backend engineering, distributed systems design, and cloud-native architecture. Every architectural decision is documented with its rationale see Architecture.md for the phase-by-phase design history.

About

A cloud-native microservices platform built with FastAPI, React, and Kubernetes to track, compare, and forecast e-commerce product prices dynamically.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors