π AI-Powered Price Tracking for Amazon, Etsy & Otto
Features β’ Demo β’ Quick Start β’ Tech Stack β’ Pricing
- Multi-Marketplace Tracking - Monitor prices on Amazon.de, Etsy, and Otto.de
- Price History Charts - Interactive charts with 7d, 30d, 90d, and 1y views
- Smart Alerts - Get notified instantly when prices drop to your target
- AI Price Predictions - Machine learning predicts future price trends (Pro+)
- Deal Radar - AI-powered deal discovery across all marketplaces (Power+)
- Price DNA - Deep analysis of pricing patterns and best buy windows (Power+)
| Feature | Free | Pro β¬4.99/mo | Power β¬9.99/mo | Business β¬29.99/mo |
|---|---|---|---|---|
| Tracked Products | 5 | 50 | 200 | Unlimited |
| Price Alerts | 3 | 25 | 100 | Unlimited |
| Price History | 30 days | Full | Full | Full |
| AI Predictions | β | β | β | β |
| Deal Radar | β | β | β | β |
| Price DNA | β | β | β | β |
| API Access | β | 100/day | 1000/day | 10,000/day |
| Priority Scraping | β | β | β | β |
- One-click price tracking from product pages
- Real-time price comparison
- Quick access to your watchlist
MarktMinder/
βββ π₯οΈ frontend/ # Next.js 14 web application
βββ βοΈ backend/ # Express.js API server
βββ π·οΈ scraper/ # Price scraping service (Puppeteer)
βββ π§© extension/ # Chrome/Firefox browser extension
βββ ποΈ database/ # PostgreSQL migrations & seeds
βββ π docs/ # API & architecture documentation
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TailwindCSS, Recharts |
| Backend | Express.js, TypeScript, Node.js 20 |
| Database | PostgreSQL 16, Redis 7 |
| Payments | Stripe (Subscriptions + Checkout) |
| Scraping | Puppeteer, Cheerio, Anti-detection |
| Auth | JWT + Refresh Tokens |
| Deployment | Docker, Docker Compose |
- Node.js 18+
- Docker & Docker Compose
- PostgreSQL 16+ (or use Docker)
- Redis 7+ (or use Docker)
git clone https://github.com/maherahmedraza/MarktMinder.git
cd MarktMinder
# Install all dependencies
cd backend && npm install && cd ..
cd frontend && npm install && cd ..
cd scraper && npm install && cd ..# Backend
cp backend/.env.example backend/.env
# Edit backend/.env with your database credentials and Stripe keys
# Scraper
cp scraper/.env.example scraper/.env# Start PostgreSQL and Redis
docker-compose up -d postgres redis
# Run database migrations
cd backend && npm run migrate && cd ..
# Start all services
docker-compose up -d# Terminal 1: Backend
cd backend && npm run dev
# Terminal 2: Frontend
cd frontend && npm run dev
# Terminal 3: Scraper (optional)
cd scraper && npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- API Docs: http://localhost:3001/api-docs (Swagger)
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register new user |
| POST | /api/auth/login |
Login user |
| POST | /api/auth/refresh |
Refresh access token |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/products |
Get tracked products |
| POST | /api/products |
Add product to track |
| GET | /api/products/:id |
Get product with price history |
| GET | /api/products/:id/predict |
Get AI price prediction (Pro+) |
| GET | /api/products/:id/dna |
Get Price DNA analysis (Power+) |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/products/deals |
Get top deals |
| GET | /api/products/deals/personal |
Get personalized deals |
| GET | /api/products/deals/stats |
Get deal statistics |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/billing/subscription |
Get current subscription |
| POST | /api/billing/create-checkout |
Create Stripe checkout session |
| POST | /api/billing/create-portal |
Create Stripe billing portal |
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/marktminder
REDIS_URL=redis://localhost:6379
# Auth
JWT_SECRET=your-super-secret-key
JWT_EXPIRES_IN=15m
REFRESH_TOKEN_EXPIRES_IN=7d
# Stripe
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
STRIPE_PRICE_PRO_MONTHLY=price_...
STRIPE_PRICE_POWER_MONTHLY=price_...
STRIPE_PRICE_BUSINESS_MONTHLY=price_...
# Frontend URL
FRONTEND_URL=http://localhost:3000Contributions are welcome! Please read our contributing guidelines before submitting PRs.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.
MarktMinder - Made with β€οΈ for smart shoppers
Built with Next.js, Express, PostgreSQL & Stripe