Reprezinta un proiect simplu scris in laravel, care ofera informatii despre toate firmele inregistrate in Romania. Nu are interfata, totul se face din cli.
Deoarece e instabil si din experienta mea, mai mereu in mentenanta.
- Laravel
- Redis
- Mariadb
- Docker (optional)
Clonare repo
git clone [email protected]:tudorr89/info-firme.git
Creare .env
cd info-firme/ && cp .env.example .env
Instalare packete
composer install
Se editeaza detaliile conexiunilor Redis si Mariadb in .env
si se ruleaza migrarile
php artisan migrate
Se genereaza cheia de encriptie
php artisan key:generate
Proiectul vine cu horizon instalat. Joburile ruleaza mai bine sub el si exista dashboard pe url-ul /horizon
pentru a vedea progresul importului in timp real.
Rulare horizon
php artisan horizon
Pentru a dezactiva aceasta functionalitate, trebuie comentate ambele comenzi (import:auto si download:csv) din fisierul app/Console/Kernel.php
Se descarca CSV-urile de pe data.gov.ro de aici(la data scrierii acestea erau cele mai recente, CSV-urile se actualizeaza o data la 4 luni) si se copiaza in directorul proiectului.
Import Nomenclator
php artisan import:nomenclator 5nomenclator_stari_firma.csv
Import Firme (toate cele 4 cu numele respective)
php artisan import:companies 4firme_radiate_cu_sediu.csv
Proiectul vine cu laravel octane si frankenphp ca server web.
Build imagine:
docker build -t <image-name>:<tag> -f FrankenPHP.Alpine.Dockerfile .
(inlocuiti image-name si tag cu ce vreti)
Rulare imagine (default port 8000)
docker run -d -e WITH_HORIZON=true -p <port>:8000 --rm <image-name>:<tag>
Rulare comenzi artisan
docker run --rm <image-name>:<tag> php artisan migrate
Pe baza CUI:
curl -L https://lista-firme.info/api/v1/info?cui=XXXXXXX
Pe baza Nume Companie (netestat suficient):
curl -L https://lista-firme.info/api/v1/info?name=NumeFirma