Skip to content

98flft/Crypto-Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Crypto Dashboard - Advanced Trading & Analytics Platform

A comprehensive, production-ready crypto dashboard with real-time data, social features, and advanced trading tools.

✨ Features

πŸ” Authentication & Security

  • User Registration with email verification
  • Secure Login with NextAuth.js
  • Password Validation with strength requirements
  • Session Management with secure cookies
  • CSRF Protection and input validation

πŸ’° Crypto Widgets

  • Portfolio Tracker - Track investments with real-time P&L
  • Price Alerts - Get notified of price movements
  • Donations Widget - Accept crypto donations with wallet integration
  • Buy Bot - Automated trading functionality
  • Market Cap - Live market data and analytics
  • Price Charts - Interactive price visualization

🌐 Social Features

  • Widget Sharing - Share widgets with the community
  • Comments System - Community feedback and discussion
  • Collaboration - Work together on widget configurations
  • Public Gallery - Discover and use community widgets

πŸ“Š Real-Time Data

  • Live Price Feeds - CoinGecko API integration
  • WebSocket Support - Real-time price updates
  • Portfolio Tracking - Investment performance monitoring
  • Market Analytics - Comprehensive market insights

🎨 Advanced UI/UX

  • Modern Design - Tailwind CSS with dark theme
  • Responsive Layout - Works on all devices
  • Interactive Components - Smooth animations and transitions
  • Customizable Themes - Personalize your experience

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or pnpm
  • Git

Installation

  1. Clone the repository
git clone https://github.com/yourusername/crypto-dashboard.git
cd crypto-dashboard
  1. Install dependencies
npm install
# or
pnpm install
  1. Set up environment variables
cp .env.example .env.local
  1. Configure your environment Edit .env.local with your settings:
# Database
DATABASE_URL="file:./dev.db"

# NextAuth.js
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"

# Email Configuration
SMTP_HOST="smtp.gmail.com"
SMTP_PORT="587"
SMTP_USER="[email protected]"
SMTP_PASS="your-app-password"
SMTP_FROM="[email protected]"
  1. Set up the database
npx prisma generate
npx prisma db push
  1. Start the development server
npm run dev
  1. Open your browser Visit http://localhost:3000

πŸ“± Available Pages

  • Dashboard - / - Main dashboard with analytics
  • Configure - /configure - Widget configuration
  • Sign Up - /auth/signup - User registration
  • Sign In - /auth/signin - User login
  • Community - /community - Shared widgets gallery
  • Analytics - /analytics - Usage analytics

πŸ› οΈ Widget Types

1. Portfolio Tracker

Track your cryptocurrency investments with real-time P&L calculations.

Features:

  • Add/remove crypto positions
  • Real-time price updates
  • Profit/loss calculations
  • Performance percentages
  • Portfolio summary

2. Price Alerts

Set up automated alerts for price movements.

Features:

  • Above/below price alerts
  • Email notifications
  • Sound alerts
  • Multiple alert management
  • Real-time price monitoring

3. Donations Widget

Accept cryptocurrency donations with wallet integration.

Features:

  • Multiple wallet support (Phantom, Solflare, Coinbase)
  • Token selection
  • Custom donation URLs
  • Minimum amount settings
  • QR code generation

4. Buy Bot

Automated trading functionality for crypto purchases.

Features:

  • Real-time buy alerts
  • Tier-based notifications
  • Audio feedback
  • Custom buy amounts
  • Transaction tracking

5. Market Cap Widget

Live market data and analytics.

Features:

  • Real-time market cap data
  • Price change tracking
  • Volume analysis
  • Market trends
  • Customizable display

πŸ”§ API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • GET /api/auth/verify-email - Email verification
  • POST /api/auth/signin - User login

Crypto Data

  • GET /api/crypto/prices - Get crypto prices
  • GET /api/crypto/prices?symbol=bitcoin - Get specific crypto price

Widgets

  • POST /api/widgets/share - Share a widget
  • GET /api/widgets/comments - Get widget comments
  • POST /api/widgets/comments - Add a comment

Analytics

  • GET /api/analytics/summary - Get analytics summary
  • POST /api/analytics/track - Track user actions

πŸš€ Deployment

Vercel (Recommended)

  1. Connect to Vercel
npm i -g vercel
vercel login
vercel
  1. Set environment variables in Vercel dashboard:

    • DATABASE_URL
    • NEXTAUTH_URL
    • NEXTAUTH_SECRET
    • SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, SMTP_FROM
  2. Deploy

vercel --prod

Other Platforms

See DEPLOYMENT.md for detailed deployment instructions for:

  • AWS Amplify
  • AWS EC2
  • Railway
  • Heroku

πŸ—„οΈ Database Schema

The application uses Prisma with SQLite (development) or PostgreSQL (production).

Key Models

  • User - User accounts and authentication
  • Preset - Saved widget configurations
  • SharedWidget - Community-shared widgets
  • WidgetComment - Comments on widgets
  • VerificationToken - Email verification
  • ResetToken - Password reset

πŸ”’ Security Features

  • Password Hashing - bcrypt with salt rounds
  • Email Verification - Secure token-based verification
  • CSRF Protection - Built-in NextAuth.js protection
  • Input Validation - Comprehensive form validation
  • Rate Limiting - API rate limiting
  • SQL Injection Protection - Prisma ORM protection

πŸ“Š Performance

  • Next.js 14 - Latest framework optimizations
  • Image Optimization - Automatic image optimization
  • Caching - Intelligent caching strategies
  • Code Splitting - Automatic code splitting
  • Bundle Analysis - Optimized bundle sizes

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

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

πŸ†˜ Support

  • Documentation - Check the /docs folder
  • Issues - Open an issue on GitHub
  • Discussions - Use GitHub Discussions for questions
  • Email - Contact [email protected]

🎯 Roadmap

Upcoming Features

  • Mobile app (React Native)
  • Advanced charting (TradingView integration)
  • Social trading features
  • API rate limiting dashboard
  • Advanced analytics
  • Multi-language support
  • Dark/light theme toggle
  • Widget marketplace

Recent Updates

  • βœ… Real-time crypto data feeds
  • βœ… Social widget sharing
  • βœ… Portfolio tracking
  • βœ… Price alerts system
  • βœ… Production deployment setup
  • βœ… Advanced authentication
  • βœ… Community features

πŸ™ Acknowledgments

  • Next.js - React framework
  • Tailwind CSS - Styling
  • Prisma - Database ORM
  • NextAuth.js - Authentication
  • CoinGecko - Crypto data API
  • Lucide React - Icons

Built with ❀️ for the crypto community

Live Demo | Documentation | Support

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •