Este é um sistema de cobrança de débitos desenvolvido em Laravel. O sistema permite o upload e processamento de arquivos CSV contendo informações de débitos e fornece uma interface para visualizar os arquivos carregados.
O sistema é composto por um backend Laravel que oferece duas principais funcionalidades:
- Upload de arquivos CSV contendo informações de débitos.
- Visualização dos arquivos CSV carregados.
- Upload de Arquivos CSV: Permite aos usuários fazer o upload de arquivos CSV contendo dados de débitos.
- Visualização de Arquivos Carregados: Lista todos os arquivos CSV que foram carregados pelo usuário.
-
Clone o repositório do projeto
git clone [email protected]:adrysson/billing.git cd billing
-
Configure as variáveis de ambiente
cp .env.example .env
Configure as seguintes variáveis de ambiente:
DB_DATABASE=seu_database DB_USERNAME=seu_usuario DB_PASSWORD=sua_senha
-
Instale as dependências
docker run --rm -v $(pwd):/var/www -w /var/www composer install
-
Build dos containers
docker compose build
-
Gere a chave da aplicação
docker compose exec app php artisan key:generate
-
Execute as migrations
docker compose exec app php artisan migrate
-
Acesse a aplicação A aplicação estará disponível no endereço http://localhost:8000.
A aplicação oferece duas principais rotas para interação com o sistema de cobrança de débitos:
- Método: POST
- URL:
/api/upload-file
- Parâmetro:
csv_file
(obrigatório): O arquivo CSV contendo os dados de débitos.
- Método: GET
- URL:
/api/uploaded-files
- Descrição: Retorna uma lista de todos os arquivos CSV que foram carregados.
Nos testes de desempenho realizados, a rota de upload e processamento de arquivos CSV (/api/upload-file
) foi capaz de processar mais de 1.000.000 de linhas em menos de 5 segundos.