Skip to content

Plataforma multiusuario para gestión de cryptos en PHP 8.3 y Laravel 10

License

Notifications You must be signed in to change notification settings

eusonlito/crypto

Repository files navigation

Requisitos

  • PHP >= 8.2
  • Apache/nginx
  • MySQL 8.0

Instalación

# Creamos la base de datos
mysql -e 'CREATE DATABASE `crypto` character set UTF8mb4 collate utf8mb4_bin;'

# Clonamos el repositorio
git clone https://github.com/eusonlito/crypto.git

cd crypto

# Duplicamos la configuración genérica como .env
cp .env.example .env

# Editamos los datos necesarios para la instalación local
vi .env

# Instalamos las dependencias
./composer install --no-scripts --no-dev
./composer install --no-dev

# Generamos la clave de cifrado
php artisan key:generate

# Lanzamos las migraciones
php artisan migrate
php artisan db:seed --class=Database\\Seeders\\Database

# Desplegamos
./composer deploy

Desactivación de plataformas

El sistema genera unos 18 millones de valores de cambio cada 15 días, con lo cual necesitarás una buena máquina para soportar eso.

Si deseas desactivar cualquier plataforma puedes hacerlo indicando el campo enabled a false de la tabla platform, tu servidor te lo agradecerá.

Carga de datos inicial

php artisan currency:sync:all
php artisan product:sync:all
php artisan product:fiat:all
php artisan exchange:sync:all

Procesos en background

nohup php artisan schedule:work > storage/logs/schedule-work.log 2>&1 &

# Binance
nohup php artisan exchange:sync:socket --platform_id=1 > storage/logs/exchange-sync-socket-1.log 2>&1 &

# Coinbase PRO
nohup php artisan exchange:ticker:socket --platform_id=2 > storage/logs/exchange-ticker-socket-2.log 2>&1 &

# KuCoin
nohup php artisan exchange:ticker:socket --platform_id=3 > storage/logs/exchange-ticker-socket-3.log 2>&1 &

Actualización

./composer deploy

Capturas

crypto-04 crypto-03 crypto-02 crypto-01

Listo!