Cryptobro is a monorepo cryptocurrency price tracking application with multiple frontend implementations:
-
Frontend (Nuxt): Nuxt 3 application with Vue 3, Tailwind CSS, and shadcn/vue components
-
Frontend (Angular): Angular 21 application with Tailwind CSS and Zard UI components
-
Backend: Laravel 12 REST API that integrates with the CoinGecko API
- π Backend Documentation
- π API Documentation
- Backend: PHP 8.2+, Composer, SQLite
- Frontend: Node.js 18+, npm
-
Clone the repository:
git clone https://github.com/daniel-samson/cryptobro.git cd cryptobro -
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
-
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
-
Open your browser:
- Frontend (Nuxt): http://localhost:3000
- Frontend (Angular): http://localhost:4200
- Backend API: http://localhost:8000/v1/health
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
- 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)
- Frontend (Nuxt) README - Nuxt 3 setup, components, testing
- Frontend (Angular) README - Angular 21 setup, components, testing
- Backend README - Laravel setup, development, testing
- API Documentation - Complete REST API reference
- Development Guide - Git workflow and development standards
Option 1 - Nuxt (Vue 3):
- Nuxt 3 - Vue 3 framework
- Tailwind CSS - Utility-first CSS
- shadcn/vue - Accessible component system
- Vitest - Unit testing
Option 2 - Angular 21:
- Angular 21 - Full framework with standalone components
- Tailwind CSS - Utility-first CSS
- Zard UI - Component library
- Vitest - Unit testing with Testing Library
- Laravel 12 - PHP framework
- SQLite - Database
- CoinGecko API - Cryptocurrency data source
- PHPUnit - Unit testing
Backend:
cd backend
composer run testFrontend (Nuxt):
cd front-end
npm testFrontend (Angular):
cd front-end-ng
npm testBackend (Laravel Pint):
cd backend
./vendor/bin/pintFrontend (Nuxt) (ESLint):
cd front-end
npm run lintFrontend (Angular) (ESLint):
cd front-end-ng
npm run lint| 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.
Please see CLAUDE.md for:
- Git workflow (Gitflow)
- Branch naming conventions
- Commit message format
- Code quality standards
This project is part of the Cryptobro monorepo.
Cryptocurrency data provided by CoinGecko.
