Este repositório contém a implementação do frontend web do sistema MEC-Energia.
O sistema MEC-Energia tem por objetivo auxiliar as instituições de ensino superior (IES) a gerenciar e avaliar a adequação de contratos de conta de energia elétrica a partir do registro das faturas mensais de energia, gerando relatórios de recomendações de ajustes nos contratos visando economia de recursos.
A documentação online do sistema está disponível em Documentação
O projeto utiliza ferramentas para controlar o formato dos commits. Para isso, é necessário ter o Node.js e o npm instalados. Instale as dependências com o comando abaixo:
npm install
npm run dev
O servidor será iniciado em http://localhost:3000.
Efetua e build do projeto, versão otimizada da aplicação para produção.
npm build
Inicie o servidor em produção.
npm start
Opcionalmente, você pode definir a porta para rodar o serviço. Exemplo:
npm start -- -p 80
Preencha os arquivos .env.dev, .env.test, e .env.prod com os valores necessários para cada ambiente.
O ambiente de desenvolvimento, mesmo rodando em um container Docker, o Next.js é configurado no modo dev com hot-reload.
make build
make up
# ou
make build-up
o servidor será iniciado em http://localhost:3000, se a porta padrão não foi alterada no arquivo .env.dev
make down
Observação: Não é necessário instalar localmente as dependências para ter node_modules no ambiente. O container vai compartilhar o node_modules instalado no próprio container, permitindo uma melhor integração de com ferramentas de desenvolvimento como VSCode e seus recursos de autocompletar, linting e debugging.
O ambiente de produção, configurado localmente, utiliza variáveis de exemplo e se conecta a um backend local para simular exatamente como funcionará em produção.
make build-prod
make up-prod
# ou
make build-up-prod
o servidor será iniciado em http://localhost:3001, se a porta padrão não foi alterada no arquivo .env.dev
make down-prod
O ambiente de testes é semelhante ao ambiente de produção, mas instala as dependências de desenvolvimento e está configurado por padrão para se conectar ao backend remoto. Isso pode ser alterado na variável de ambiente .envs/.env.test.
make build-test
make up-test
# ou
make build-up-test
o servidor será iniciado em http://localhost:3002, se a porta padrão não foi alterada no arquivo .env.dev
make down-test
Dentro do diretório .envs, existem arquivos específicos para cada ambiente (.env.prod, .env.dev, .env.test). Esses arquivos estão preenchidos com valores de exemplo que devem ser modificados conforme necessário para cada ambiente.
- Ambiente de desenvolvimento: .envs/.env.dev
- Ambiente de teste: .envs/.env.test
- Ambiente de produção: .envs/.env.prod
Os comandos de up (up, build-up) iniciam os containers no modo -detach ou -d (background), permitindo que os logs sejam acessados separadamente.
Execute os comandos de build (build, build-nc) sempre que houver mudanças no código ou na configuração que necessitem recompilação das imagens Docker.
O comando build-nc é utilizado para construir as imagens Docker sem usar o cache, garantindo que todas as dependências sejam baixadas novamente. Isso é útil para garantir que a imagem final esteja atualizada e livre de possíveis inconsistências de cache.
Este comando funciona para todos os ambientes:
- Desenvolvimento: make build-nc
- Produção: make build-nc-prod
- Teste: make build-nc-test