Esse repositório contém o código fonte do Front End do Amazônia Minada, projeto do Infoamazônia que monitora os requerimentos minerários em unidades de conservação integral e em terras indígenas na Amazônia Legal brasileira. O Dashboard criado exibe dados e estatísticas a respeito dos requerimentos minerários coletados pelo bot do Amazônia Minada, a partir dos dados fornecidos pela Agência Nacional de Mineração (ANM), em termos da área declarada (área total dos requerimentos) e da incidência (quantidade de requerimentos).
Para executar o projeto, inicialmente é necessário criar um arquivo .env com as configurações que são exemplificadas no arquivo .env.example.
Logo após a configuração, você deve executar um comando para instalar as dependências do projeto:
$ yarn
Agora, para executar em ambiente de desenvolvimento, use o seguinte comando:
$ yarn start
Uma vez já configurado o .env, caso prefira executar o projeto utilizando Docker, neste repositório é disponibilizado um shell script responsável por subir a aplicação em ambiente de desenvolvimento, para isso execute no terminal:
$ sudo bash ./run-app-deploy.sh --dev
Ou ambiente de produção (--prod):
$ sudo bash ./run-app-deploy.sh --prod
O código fonte em ReactJS se encontra dentro do diretório /src na raíz do projeto. Cada pasta que se localiza dentro do /src foi criada para dividir o projeto em seções de acordo com o tipo de função que os arquivos ali existentes realizam. A organização dos diretórios foi realizada da seguinte forma:
/assets
possui o conjunto de recursos estáticos da aplicação, como imagens e o .css padrão utilizado para configurar o nosso projeto./components
possui os arquivos que contém os componentes construídos para a composição da aplicação./constants
possui arquivos com constantes utilizadas por todo o projeto, como parâmetros iniciais da aplicação, tematização e regras de responsividade./contexts
possui os arquivos responsáveis por fornecer dados em comum para aplicação./hooks
possui arquivos que fornecem hooks personalizados da aplicação./i18n
contém a estrutura e a configuração necessária para disponibilizar recursos de tradução./pages
contém os principais componentes que representam páginas, que são utilizados pelo roteamento./services
possui arquivos que recorrem recursos externos da aplicação, como por exemplo a API.