Crypto Tracker Web App

A comprehensive cryptocurrency tracking application with interactive charts and real-time price data.

Features

  • Crypto Asset Listing: Browse popular cryptocurrencies with real-time prices
  • Interactive Charts: View price history for multiple time periods (1D, 1W, 1M, 3M, 6M, 1Y, 5Y)
  • Real-time Data: Powered by CoinGecko API for accurate market data
  • Responsive Design: Works seamlessly on desktop and mobile devices

Project Structure

├── backend/
│   ├── index.ts           # Main Hono server with API routes
│   └── README.md          # Backend documentation
├── frontend/
│   ├── components/
│   │   ├── App.tsx        # Main React application
│   │   ├── CryptoList.tsx # Cryptocurrency listing component
│   │   └── CryptoChart.tsx # Interactive chart component
│   ├── index.html         # Main HTML template
│   ├── index.tsx          # Frontend entry point
│   └── style.css          # Custom styles
├── shared/
│   ├── types.ts           # Shared TypeScript interfaces
│   └── utils.ts           # Shared utility functions
└── README.md              # This file

API Endpoints

  • GET / - Serves the main application
  • GET /api/coins - Fetches list of cryptocurrencies
  • GET /api/coins/:id/chart - Fetches chart data for a specific coin
  • GET /frontend/* - Serves frontend assets
  • GET /shared/* - Serves shared utilities

Technology Stack

  • Backend: Hono (TypeScript)
  • Frontend: React 18.2.0 with TypeScript
  • Charts: Chart.js with React wrapper
  • Styling: TailwindCSS
  • Data Source: CoinGecko API (no API key required)

Usage

The app automatically loads popular cryptocurrencies and displays them in a responsive grid. Click on any cryptocurrency to view its detailed price chart with multiple time period options.