Skip to content

CryptoHub is a modern crypto tracking platform that lets users explore real-time cryptocurrency prices, view detailed coin analytics, and stay updated with market trends. With a simple and intuitive interface, CryptoHub makes it easy for beginners and traders to track their favorite coins, compare data, and make informed decisions.

License

Notifications You must be signed in to change notification settings

KaranUnique/CryptoHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

304 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
CryptoHub Logo

CRYPTOHUB

πŸ“‘ Table of Contents

πŸ” Overview

CryptoHub is a modern, fully responsive cryptocurrency dashboard built with React and Vite. It empowers users to track real-time crypto prices, analyze market trends through interactive charts, explore educational content, and manage their crypto portfolioβ€”all in one beautifully designed platform.

Typing SVG

πŸ“Š Project Insights

🌟 Stars 🍴 Forks πŸ› Issues πŸ”” Open PRs πŸ”• Closed PRs πŸ› οΈ Languages πŸ‘₯ Contributors
Stars Forks Issues Open PRs Closed PRs Languages Contributors

✨ Vision

CryptoHub aims to democratize cryptocurrency information and make it accessible to everyone:

  • 🌐 24/7 Access - Real-time cryptocurrency data at your fingertips
  • πŸ” Transparency - Clear, accurate market information for informed decisions
  • πŸ“Š Comprehensive Analytics - Interactive charts with historical data
  • πŸŽ“ Education First - Learn about crypto through blogs and guides
  • πŸ“± Mobile-First - Seamless experience across all devices

🎯 Why CryptoHub?

CryptoHub is built to provide the best cryptocurrency tracking experience:

  • 🧭 All-in-One Platform - Market data, charts, news, and portfolio tracking in one place
  • πŸ” Real-time Updates - Live price updates and market movements
  • βš™οΈ Smart Features - Advanced search, filters, and multi-currency support
  • πŸ›‘οΈ Secure & Private - Firebase authentication with data protection
  • πŸ“± Beautiful UI - Modern glassmorphism design with smooth animations
  • πŸŒ™ Theme Toggle - Comfortable viewing in dark or light mode

πŸš€ Live Demo

Experience CryptoHub live here:

πŸ‘‰ CryptoHub Live

Open Source Love svg1 PRs Welcome Built with Love Visitors GitHub Contributors GitHub Last Commit GitHub Repo Size License

πŸ“Έ Screenshots

CryptoHub Dashboard Preview

Modern, responsive cryptocurrency dashboard with real-time data

🧭 Comprehensive Project Flow

Complete User Journey & Application Routes

flowchart TD
  A[User] --> B[Visit CryptoHub]
  B --> C{Authenticated?}
  C -->|No| D[Browse Public Pages]
  C -->|Yes| E[Access Dashboard]
  D --> F[Home: Search & Filter Coins]
  D --> G[Blog: Read Articles]
  D --> H[Pricing: View Plans]
  D --> I[Features: Explore]
  F --> J[Click Coin]
  J --> K[View Details & Chart]
  D --> L{Want Login?}
  L -->|Yes| M[Login/Signup]
  M --> N[Firebase Auth]
  N -->|Success| E
  N -->|Failed| D
  E --> O[Dashboard]
  E --> P[Leaderboard]
  E --> Q[Change Password]
Loading

Market Data Lifecycle

graph LR
    subgraph External
    CG[(CoinGecko API)]
    end
    
    subgraph React_App
    CC[CoinContext]
    H[Home Page]
    D[Details Page]
    end
    
    CG -- "JSON Data" --> CC
    CC -- "State: coinsArray" --> H
    CC -- "State: singleCoin" --> D
    H -- "User Search" --> CC
Loading

🌟 Key Features

πŸ‘€ User Features

  • πŸ” Secure Authentication - Firebase-based login/signup with email verification
  • πŸ‘€ User Dashboard - Personalized dashboard with greeting and quick stats
  • πŸ† Leaderboard - Track top-performing cryptocurrencies
  • πŸ“° Crypto Blog - Educational content and market insights
  • πŸ’° Pricing Plans - Flexible subscription tiers (Free, Pro, Premium)

πŸ” Authentication

  • πŸ”‘ Email/Password Login - Traditional authentication method
  • 🌐 Google OAuth - One-click sign-in with Google account
  • πŸ”’ Secure Sessions - JWT-based session management with Firebase
  • πŸ‘₯ User Profiles - Personalized user experience with full name display
  • πŸ” Password Management - Change password securely from dashboard
  • πŸ”“ Password Reset - Forgot password recovery via email link

πŸ“Š Market Data

  • πŸ“ˆ Real-time Prices - Live cryptocurrency prices powered by CoinGecko API
  • πŸ” Advanced Search - Search 100+ cryptocurrencies with autocomplete
  • πŸ’± Multi-Currency - Support for USD, EUR, INR
  • πŸ“Š Interactive Charts - 10-day historical price charts with Victory.js
  • 🎯 Price Filters - Filter coins by minimum and maximum price
  • ✨ Floating Tickers - Real-time animated price tickers (Bitcoin, Ethereum, Solana, Cardano, BNB)
  • πŸ“± Horizontal Scroll - All data columns visible on mobile with smooth scrolling

πŸ› οΈ Tech Stack

Frontend

React Vite React Router Framer Motion React Icons

Backend & Services

Firebase CoinGecko API Victory

Styling & Design

CSS3 Responsive Glassmorphism

Deployment

Vercel

βš™οΈ Installation and Setup

πŸ“‹ Prerequisites

Ensure you have the following installed:

1. Clone the repository

git clone https://github.com/KaranUnique/CryptoHub.git
cd CryptoHub

2. Install dependencies

npm install

πŸ”§ Environment Setup

3. Create .env file in the project root

# CoinGecko API Key
VITE_CG_API_KEY=your-coingecko-api-key

# Firebase Configuration
VITE_FIREBASE_API_KEY=your-firebase-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your-sender-id
VITE_FIREBASE_APP_ID=your-app-id

How to get credentials:

πŸƒ Running Locally

4. Start the development server

npm run dev

5. Open in browser

http://localhost:5173

🐳 Docker Setup (Alternative)

For a containerized development environment:

# Start with Docker Compose
docker compose up

# Access at http://localhost:5173

πŸ“– See DOCKER_SETUP.md for full guide

Build for Production

npm run build

Preview Production Build

npm run preview

πŸ“ Project Structure

CryptoHub/
β”‚
β”œβ”€β”€ πŸ“‚ public/
β”‚   └── crypto-logo.png                    # Application logo
β”‚
β”œβ”€β”€ πŸ“‚ src/
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“‚ assets/                         # Static assets
β”‚   β”‚   └── CryptoHub.png                  # Banner image
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“‚ components/                     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx                     # Responsive navigation bar
β”‚   β”‚   β”œβ”€β”€ Navbar.css                     # Navbar styling
β”‚   β”‚   β”œβ”€β”€ Footer.jsx                     # Footer component
β”‚   β”‚   β”œβ”€β”€ LineChart.jsx                  # Victory.js chart wrapper
β”‚   β”‚   β”œβ”€β”€ LoadingSpinner.jsx             # Loading indicator
β”‚   β”‚   β”œβ”€β”€ Pricing.jsx                    # Pricing plans page
β”‚   β”‚   β”œβ”€β”€ Blog.jsx                       # Blog listing page
β”‚   β”‚   β”œβ”€β”€ BlogDetail.jsx                 # Individual blog post
β”‚   β”‚   β”œβ”€β”€ Features.jsx                   # Features showcase
β”‚   β”‚   β”œβ”€β”€ Signup.jsx                     # User registration
β”‚   β”‚   β”œβ”€β”€ Login.jsx                      # User login
β”‚   β”‚   β”œβ”€β”€ ForgotPassword.jsx             # Password reset via email
β”‚   β”‚   β”œβ”€β”€ Contributors.jsx               # Contributors page
β”‚   β”‚   β”œβ”€β”€ Leaderboard.jsx                # Crypto leaderboard
β”‚   β”‚   β”œβ”€β”€ ChangePassword.jsx             # Password management
β”‚   β”‚   └── PrivateRoute.jsx               # Protected route wrapper
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“‚ context/                        # React Context API
β”‚   β”‚   β”œβ”€β”€ CoinContext.jsx                # Cryptocurrency data state
β”‚   β”‚   β”œβ”€β”€ AuthContext.jsx                # Authentication state
β”‚   β”‚   └── ThemeContext.jsx               # Dark/Light theme state
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“‚ pages/                          # Main application pages
β”‚   β”‚   β”œβ”€β”€ Home/
β”‚   β”‚   β”‚   β”œβ”€β”€ Home.jsx                   # Landing page
β”‚   β”‚   β”‚   └── Home.css                   # Home page styles
β”‚   β”‚   β”œβ”€β”€ Coin/
β”‚   β”‚   β”‚   β”œβ”€β”€ Coin.jsx                   # Individual coin details
β”‚   β”‚   β”‚   └── Coin.css                   # Coin page styles
β”‚   β”‚   └── Dashboard/
β”‚   β”‚       β”œβ”€β”€ Dashboard.jsx              # User dashboard
β”‚   β”‚       └── Dashboard.css              # Dashboard styles
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“„ App.jsx                         # Main app component & routing
β”‚   β”œβ”€β”€ πŸ“„ main.jsx                        # Application entry point
β”‚   β”œβ”€β”€ πŸ“„ index.css                       # Global styles & CSS variables
β”‚   └── πŸ“„ firebase.js                     # Firebase configuration
β”‚
β”œβ”€β”€ πŸ“„ .env                                # Environment variables (not in repo)
β”œβ”€β”€ πŸ“„ .gitignore                          # Git ignore rules
β”œβ”€β”€ πŸ“„ package.json                        # Dependencies & scripts
β”œβ”€β”€ πŸ“„ package-lock.json                   # Dependency lock file
β”œβ”€β”€ πŸ“„ vite.config.js                      # Vite configuration
β”œβ”€β”€ πŸ“„ index.html                          # HTML template
β”œβ”€β”€ πŸ“„ LICENSE                             # MIT License
└── πŸ“„ README.md                           # Project documentation

πŸ“¦ Key Directories

Directory Purpose
/public Static assets served directly
/src/components Reusable React components
/src/context Global state management using Context API
/src/pages Main application pages with routing
/src/assets Images, media files

πŸ”§ Configuration Files

  • .env - API keys (CoinGecko, Firebase)
  • vite.config.js - Vite build configuration
  • package.json - Project dependencies and scripts
  • firebase.js - Firebase initialization


πŸ“– Extended Documentation

Detailed guides to help you get started:


✴️ Issue Creation

Found a bug or have a feature request?

  1. Check the issue tracker first
  2. Create a new issue with a clear description
  3. Include screenshots/videos if reporting UI bugs
  4. Tag appropriately (bug, enhancement, documentation, etc.)

πŸ“‘ Contribution Guidelines

We welcome contributions! Follow these steps:

  1. ⭐ Star the Repository
  2. 🍴 Fork the Repository
  3. πŸ”€ Create a new branch for your feature/fix
  4. πŸ’» Make your changes and test thoroughly
  5. πŸ“ Commit with clear messages
  6. πŸ”Ό Push to your fork
  7. 🎯 Create a Pull Request with screenshots

Check the CONTRIBUTING.md for detailed steps.

🀝 Contributing

Ways to Contribute

  • πŸ› Bug Fixes - Help identify and fix bugs
  • ✨ New Features - Add cryptocurrency tracking features
  • 🎨 UI/UX Improvements - Enhance the user interface
  • πŸ“± Mobile Responsiveness - Improve mobile experience
  • πŸ“ Documentation - Improve guides and docs
  • 🌐 Translations - Help make CryptoHub multilingual
  • πŸ§ͺ Testing - Write unit and integration tests
  • πŸ”’ Security - Help keep user data safe
  • πŸ“° Blog Content - Write crypto educational articles

Contributing is fun 🧑

We welcome all contributions and suggestions! Whether it's a new feature, design improvement, or a bug fix - your voice matters πŸ’œ

πŸ‘₯ Contributors

Thanks to all our amazing contributors! πŸŽ‰

Contributors

See the full list on the GitHub Contributors Graph.

πŸ“‹ Code of Conduct

By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors. Harassment, discrimination, or any form of abuse will not be tolerated.

For more details, see CODE_OF_CONDUCT.md.

Show some Red Heart by starring this awesome repository!

πŸ’‘ Suggestions & Feedback

We'd love to hear from you! Feel free to:

  • πŸ’¬ Open a Discussion
  • πŸ› Report Issues
  • πŸ’‘ Request Features
  • ⭐ Star the repository if you find it helpful

πŸ™Œ Show Your Support

If you find CryptoHub helpful, please consider:

  • ⭐ Star the repository
  • 🐦 Share on social media
  • πŸ’¬ Tell your friends and colleagues
  • 🀝 Contribute to the project
  • πŸ“ Write a blog post about it

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License - Free to use, modify, and distribute
βœ… Commercial use
βœ… Modification
βœ… Distribution
βœ… Private use

πŸ‘¨β€πŸ’Ό Project Leadership

Feel free to reach out to the admin for questions, guidance, or support on your contributions.

πŸ“ž Contact

For questions, feedback, or collaboration:

⭐ Stargazers

🍴 Forkers

Glowing Star Give us a Star and let's track crypto together! Glowing Star

Rocket

πŸ‘¨β€πŸ’» Built with ❀️ by the CryptoHub Community

Open an Issue | 🌟 Star on GitHub | πŸš€ Live Demo

⬆️ Back to Top

Ready to explore the crypto universe? Get started with CryptoHub today! πŸš€πŸ’Ž

About

CryptoHub is a modern crypto tracking platform that lets users explore real-time cryptocurrency prices, view detailed coin analytics, and stay updated with market trends. With a simple and intuitive interface, CryptoHub makes it easy for beginners and traders to track their favorite coins, compare data, and make informed decisions.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 40

Languages