BlockWatch is a premium, production-ready cryptocurrency portfolio tracker and signal platform built with React, Tailwind CSS, and Firebase. It's designed for both beginners and experienced traders to manage holdings, set price alerts, and receive logical market signals.
- Authentication: Secure Email/Password login with persistence via Firebase Auth.
- Portfolio Tracker:
- Add/Remove assets (BTC, ETH, etc.)
- Real-time price updates via CoinGecko API.
- Automatic P&L calculation and portfolio valuation.
- Dynamic allocation pie charts.
- Price Alert System:
- Set "Price Above" or "Price Below" targets.
- Real-time client-side monitoring.
- Desktop notifications (using Browser Notification API).
- Premium gate: Free users (3 alerts), Premium (Unlimited).
- Alpha Signals:
- Indicator-based buy/sell/hold signals.
- Detailed logic explanations (RSI, Moving Averages).
- Risk disclaimer and "Alpha Scanner" UI.
- Premium Subscription:
- Simulated monetization flow.
- Real-time UI updates upon plan upgrade.
- Modern UI/UX:
- Sleek dark-mode aesthetic.
- Responsive design (Mobile + Desktop).
- Smooth animations using Framer Motion.
- Custom glassmorphism components.
- Frontend: React (Vite), Tailwind CSS, Framer Motion, Chart.js.
- Backend & DB: Firebase (Authentication + Firestore).
- API: CoinGecko API (Public).
- Node.js (v18+)
- npm or yarn
# Clone the repository (or copy the files)
cd BlockWatch
# Install dependencies
npm install- Create a project at Firebase Console.
- Enable Authentication (Email/Password).
- Create a Cloud Firestore database.
- Go to Project Settings and copy your Web App config.
- Create a
.envfile in the root and add your keys (see.env.example).
npm run dev- Users:
id, email, displayName, plan, createdAt - Portfolio:
userId, coinId, symbol, name, quantity, buyPrice, createdAt - Alerts:
userId, coinId, symbol, name, alertType, targetValue, status, createdAt
- Push to GitHub.
- Connect your repository to Vercel/Netlify.
- Add the environment variables in the provider's dashboard.
- Deploy!
Disclaimer: This platform is for educational purposes only. Always trade responsibly.