Skip to content

React modern and responsive web application for real-time cryptocurrency price tracking. Built with React, TypeScript and a user-centered design approach.

Notifications You must be signed in to change notification settings

firedevelop/cryptoBIT

Repository files navigation

CryptoBIT Logo

CryptoBIT

React TypeScript Vite Zustand

A modern and responsive web application for real-time cryptocurrency price tracking. Built with React, TypeScript and a user-centered design approach.

🌟 Features

  • πŸ“± Responsive Design - Optimized for desktop, tablet and mobile
  • ⚑ Real-Time Data - Live cryptocurrency price updates
  • 🎨 Modern UI - Coin-style buttons with visual effects
  • πŸ’± Multiple Currencies - Support for USD, EUR, GBP and MXN
  • πŸ” Intuitive Search - Sidebar with popular cryptocurrency list
  • 🎯 Default Selection - USD/BTC preselected for better UX
  • πŸŒ™ Visual Effects - Smooth animations and fluid transitions

πŸ“Έ Screenshots


crypto BIT Screenshot 1 crypto BIT  Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 6

πŸ› οΈ Tech Stack

Frontend

  • React 18 - JavaScript library for building user interfaces
  • TypeScript - Static typing for JavaScript
  • React Router - Navigation and routing
  • Vite - Fast development build tool
  • CSS Grid & Flexbox - Modern responsive layout

State Management & Data

  • Zustand - Lightweight and efficient state management
  • Zod - TypeScript-first schema validation
  • Axios - HTTP client for API requests

External API

  • CryptoCompare API - Real-time cryptocurrency data

Development Tools

  • ESLint - Code linting
  • PostCSS - CSS processing
  • Autoprefixer - Cross-browser CSS compatibility

πŸ—οΈ Installation & Setup

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn

Installation Steps

  1. Clone the repository

    git clone https://github.com/firedevelop/cryptoBIT.git
    cd cryptoBIT
  2. Install dependencies

    npm install
  3. Run in development mode

    npm run dev
  4. Open in browser

    http://localhost:5173
    

πŸ“¦ Available Scripts

Command Description
npm run dev Starts the development server
npm run build Builds the app for production
npm run lint Runs code linter
npm run preview Preview production build

πŸ›οΈ Project Architecture

src/
β”œβ”€β”€ components/          # Reusable React components
β”‚   β”œβ”€β”€ CriptoSearchForm.tsx    # Search and selection form
β”‚   β”œβ”€β”€ CryptoPriceDisplay.tsx  # Price display component
β”‚   β”œβ”€β”€ ErrorMessage.tsx        # Error handling
β”‚   β”œβ”€β”€ Footer.tsx             # Footer component
β”‚   └── Spinner.tsx            # Loading indicator
β”œβ”€β”€ pages/               # Application pages
β”‚   β”œβ”€β”€ Home.tsx               # Main cryptocurrency app
β”‚   └── Credits.tsx            # Credits and acknowledgments
β”œβ”€β”€ data/               # Static data (supported currencies)
β”œβ”€β”€ schema/             # Zod validation schemas
β”œβ”€β”€ services/           # API services
β”œβ”€β”€ types/              # TypeScript definitions
β”œβ”€β”€ store.ts            # Global state with Zustand
β”œβ”€β”€ index.css           # Global styles
└── main.tsx            # Application entry point

🎨 Design Features

Color System

  • Primary: #F7931A (Bitcoin Orange)
  • Secondary: #182339 (Black)
  • Background: #FFFFFF (White)
  • Accents: #9CA3AF (Medium Gray)

Key Components

πŸͺ™ Currency Buttons

  • Coin-style design with 3D effects
  • Custom gradients per currency
  • Hover and selection animations
  • Realistic shadows with inset effects

πŸ“± Responsive Design

  • Desktop: 2-column grid (sidebar + content)
  • Tablet: Stacked layout with condensed sidebar
  • Mobile: Small screen optimization

πŸ”§ API Configuration

The application uses the free CryptoCompare API:

  • Main Endpoint: https://min-api.cryptocompare.com/
  • Limit: Top 20 cryptocurrencies
  • Updates: Real-time data

πŸš€ Deployment

Vercel (Recommended)

npm run build
vercel --prod

Netlify

npm run build
netlify deploy --prod --dir=dist

GitHub Pages

npm run build
npm run deploy

🀝 Contributing

Contributions are welcome! For major changes:

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

πŸ“ Roadmap

  • πŸŒ™ Dark/Light mode toggle
  • πŸ“Š Historical price charts
  • πŸ”” Price alerts
  • πŸ’Ύ Persistent favorites
  • 🌍 Internationalization (i18n)
  • πŸ“ˆ Basic technical analysis

πŸ“„ License

This project is licensed under the MIT License.

Credits

logo.svg

Logo License: Bitcoin (BTC) Commercial use: Allowed Personal use: Allowed Modification: Allowed Redistribution: Allowed Exclusive rights: Not granted Credit: Not required Attribution: Not required License type: Public domain / Open-source https://cryptologos.cc/bitcoin

bg.jpg

Foto de Anne NygΓ₯rd en Unsplash

CryptoCompare


AtribuciΓ³n de Datos

Los datos utilizados en este proyecto/aplicaciΓ³n se obtienen de la API gratuita de CryptoCompare.

Agradecemos a CryptoCompare por proporcionar esta informaciΓ³n.

Licencia de Uso:

Esta aplicaciΓ³n utiliza datos bajo la licencia Creative Commons AtribuciΓ³n-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Puedes encontrar mΓ‘s informaciΓ³n sobre CryptoCompare y sus tΓ©rminos de API en:


πŸ™ Acknowledgments

  • CryptoCompare for the data API
  • React for the framework
  • Vite for the development tool
  • Open source community for the libraries used

⭐ If this project was helpful, consider giving it a star! ⭐

About

React modern and responsive web application for real-time cryptocurrency price tracking. Built with React, TypeScript and a user-centered design approach.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published