Skip to content

πŸ€‘ A NUXT/Angular/Laravel application that displays information about the latest cryptocurrency prices.

License

Notifications You must be signed in to change notification settings

daniel-samson/cryptobro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

A web application that displays information about the latest cryptocurrency prices.

Screenshot

Project Status

Backend CI Frontend (Nuxt) CI Frontend (Angular) CI

Overview

Cryptobro is a monorepo cryptocurrency price tracking application with multiple frontend implementations:

Quick Start

Prerequisites

  • Backend: PHP 8.2+, Composer, SQLite
  • Frontend: Node.js 18+, npm

Setup in 3 Steps

  1. Clone the repository:

    git clone https://github.com/daniel-samson/cryptobro.git
    cd cryptobro
  2. Start the backend:

    cd backend
    composer install
    cp .env.example .env
    php artisan key:generate
    php artisan migrate
    composer run dev  # Starts on http://localhost:8000
  3. Start the frontend (in a new terminal):

    Option A - Nuxt (Vue 3):

    cd front-end
    npm install
    cp .env.example .env
    npm run dev  # Starts on http://localhost:3000

    Option B - Angular 21:

    cd front-end-ng
    npm install
    cp .env.example .env
    npm run start  # Starts on http://localhost:4200
  4. Open your browser:

Project Structure

cryptobro/
β”œβ”€β”€ front-end/         # Nuxt 3 Vue application
β”‚   β”œβ”€β”€ components/    # Vue components (including shadcn/vue)
β”‚   β”œβ”€β”€ pages/         # File-based routing
β”‚   β”œβ”€β”€ app/           # Composables, utils, layouts
β”‚   └── README.md      # Frontend (Nuxt) documentation
β”‚
β”œβ”€β”€ front-end-ng/      # Angular 21 application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/       # Angular components and services
β”‚   β”‚   β”œβ”€β”€ pages/     # Routed page components
β”‚   β”‚   └── shared/    # Shared components and utilities
β”‚   └── README.md      # Frontend (Angular) documentation
β”‚
β”œβ”€β”€ backend/           # Laravel 12 API
β”‚   β”œβ”€β”€ app/           # Application code
β”‚   β”œβ”€β”€ routes/        # API routes
β”‚   β”œβ”€β”€ tests/         # PHPUnit tests
β”‚   β”œβ”€β”€ README.md      # Backend documentation
β”‚   └── API.md         # API endpoint documentation
β”‚
└── design/            # Design assets and branding

Key Features

  • Real-time cryptocurrency price tracking
  • Search functionality for 250+ cryptocurrencies
  • Detailed coin information with market data
  • Responsive design (mobile-first)
  • API caching to minimize external API calls
  • Comprehensive test coverage (frontend & backend)

Documentation

Technology Stack

Frontend Options

Option 1 - Nuxt (Vue 3):

Option 2 - Angular 21:

Backend

Development

Running Tests

Backend:

cd backend
composer run test

Frontend (Nuxt):

cd front-end
npm test

Frontend (Angular):

cd front-end-ng
npm test

Code Quality

Backend (Laravel Pint):

cd backend
./vendor/bin/pint

Frontend (Nuxt) (ESLint):

cd front-end
npm run lint

Frontend (Angular) (ESLint):

cd front-end-ng
npm run lint

API Endpoints

Method Endpoint Description
GET /v1/health Health check
GET /v1/coins/markets Top 10 cryptocurrencies
GET /v1/coins/search?q=* Search cryptocurrencies
GET /v1/coins/{symbol} Get coin details by symbol

See API Documentation for detailed endpoint specifications.

Contributing

Please see CLAUDE.md for:

  • Git workflow (Gitflow)
  • Branch naming conventions
  • Commit message format
  • Code quality standards

License

This project is part of the Cryptobro monorepo.

Powered By

Cryptocurrency data provided by CoinGecko.

About

πŸ€‘ A NUXT/Angular/Laravel application that displays information about the latest cryptocurrency prices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •