- π Overview
- β¨ Vision
- π― Why CryptoHub
- π Live Demo
- πΈ Screenshots
- π Key Features
- π οΈ Tech Stack
- π Project Insights
- π§ Project Flow
- βοΈ Installation and Setup
- π Project Structure
- π¨βπΌ Project Leadership
- β΄οΈ Issue Creation
- π Contribution Guidelines
- π€ Contributing
- π₯ Contributors
- π Code of Conduct
- π‘ Suggestions & Feedback
- π Show Your Support
- π License
- π¨βπΌ Project Leadership
- π Contact
- β Stargazers
- π΄ Forkers
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.
| π Stars | π΄ Forks | π Issues | π Open PRs | π Closed PRs | π οΈ Languages | π₯ Contributors |
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
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
Experience CryptoHub live here:
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]
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
- π 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)
- π 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
- π 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
Ensure you have the following installed:
- π’ Node.js 14+ and npm
- π CoinGecko API Key (Get it here)
- π₯ Firebase Project (Create one here)
git clone https://github.com/KaranUnique/CryptoHub.git
cd CryptoHubnpm install# 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-idHow to get credentials:
- CoinGecko API: Sign up at CoinGecko API
- Firebase: Go to Firebase Console β Project Settings β Your Apps
npm run devhttp://localhost:5173
For a containerized development environment:
# Start with Docker Compose
docker compose up
# Access at http://localhost:5173π See DOCKER_SETUP.md for full guide
npm run buildnpm run previewCryptoHub/
β
βββ π 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
| 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 |
.env- API keys (CoinGecko, Firebase)vite.config.js- Vite build configurationpackage.json- Project dependencies and scriptsfirebase.js- Firebase initialization
Detailed guides to help you get started:
- β General FAQ
- π₯ Full Firebase & OAuth Setup
- π¨ Design System & Branding
- π Advanced Troubleshooting
Found a bug or have a feature request?
- Check the issue tracker first
- Create a new issue with a clear description
- Include screenshots/videos if reporting UI bugs
- Tag appropriately (bug, enhancement, documentation, etc.)
We welcome contributions! Follow these steps:
- β Star the Repository
- π΄ Fork the Repository
- π Create a new branch for your feature/fix
- π» Make your changes and test thoroughly
- π Commit with clear messages
- πΌ Push to your fork
- π― Create a Pull Request with screenshots
Check the CONTRIBUTING.md for detailed steps.
- π 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
We welcome all contributions and suggestions! Whether it's a new feature, design improvement, or a bug fix - your voice matters π
Thanks to all our amazing contributors! π
See the full list on the GitHub Contributors Graph.
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.
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
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
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
- Admin & Mentor: KaranUnique
Feel free to reach out to the admin for questions, guidance, or support on your contributions.
For questions, feedback, or collaboration:
- π Bug Reports: Open an Issue
- π‘ Feature Requests: Create Feature Request
- π¬ Discussions: GitHub Discussions
- π§ Contact Admin: KaranUnique
Open an Issue | π Star on GitHub | π Live Demo
Ready to explore the crypto universe? Get started with CryptoHub today! ππ


