Skip to content

Repository files navigation

BlockWatch - Crypto Portfolio & Signal Platform 🚀

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.

✨ Features

  • 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.

🛠️ Tech Stack

  • Frontend: React (Vite), Tailwind CSS, Framer Motion, Chart.js.
  • Backend & DB: Firebase (Authentication + Firestore).
  • API: CoinGecko API (Public).

🚀 Getting Started

1. Prerequisites

  • Node.js (v18+)
  • npm or yarn

2. Installation

# Clone the repository (or copy the files)
cd BlockWatch

# Install dependencies
npm install

3. Firebase Setup

  1. Create a project at Firebase Console.
  2. Enable Authentication (Email/Password).
  3. Create a Cloud Firestore database.
  4. Go to Project Settings and copy your Web App config.
  5. Create a .env file in the root and add your keys (see .env.example).

4. Running Locally

npm run dev

📝 Database Schema

  • Users: id, email, displayName, plan, createdAt
  • Portfolio: userId, coinId, symbol, name, quantity, buyPrice, createdAt
  • Alerts: userId, coinId, symbol, name, alertType, targetValue, status, createdAt

📦 Deployment

Vercel / Netlify

  1. Push to GitHub.
  2. Connect your repository to Vercel/Netlify.
  3. Add the environment variables in the provider's dashboard.
  4. Deploy!

Disclaimer: This platform is for educational purposes only. Always trade responsibly.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages