{"id":19816528,"url":"https://github.com/brunocaputo/clean-energy-platform","last_synced_at":"2026-04-08T16:01:50.945Z","repository":{"id":260196479,"uuid":"878754069","full_name":"BrunoCaputo/clean-energy-platform","owner":"BrunoCaputo","description":"Next app challenge","archived":false,"fork":false,"pushed_at":"2024-10-31T21:39:17.000Z","size":1036,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-23T23:29:40.853Z","etag":null,"topics":["drizzle-orm","nextjs15","postgresql","react","tailwindcss"],"latest_commit_sha":null,"homepage":"https://bc-clean-energy-platform.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrunoCaputo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-26T02:59:15.000Z","updated_at":"2024-10-31T21:48:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"3355a9d5-b865-4452-8252-577159596e24","html_url":"https://github.com/BrunoCaputo/clean-energy-platform","commit_stats":null,"previous_names":["brunocaputo/clean-energy-platform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BrunoCaputo/clean-energy-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoCaputo%2Fclean-energy-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoCaputo%2Fclean-energy-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoCaputo%2Fclean-energy-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoCaputo%2Fclean-energy-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrunoCaputo","download_url":"https://codeload.github.com/BrunoCaputo/clean-energy-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoCaputo%2Fclean-energy-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drizzle-orm","nextjs15","postgresql","react","tailwindcss"],"created_at":"2024-11-12T10:09:46.781Z","updated_at":"2026-04-08T16:01:50.931Z","avatar_url":"https://github.com/BrunoCaputo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clean Energy Platform\n\nAplicação FullStack utilizando o framework `Next.js` com `TypeScript` e banco de dados relacional `PostgreSQL`.\n\n\u003e Nota: Aqui é utilzado o gerenciador pnpm, mas pode ser usado outro de sua preferência\n\n## Banco de dados\n\nO banco de dados utilizado para esse projeto é o PostgreSQL, que será hospedado em um container Docker.\n\nA URL do banco de dados deve ser inserida no arquivo .env.local, seguindo o padrão apresentado em [.env.template](./.env.template).\n\n1. **Subindo o container:** Para subir o container, há um arquivo [docker-compose.yml](./docker-compose.yml) contendo a configuração e a imagem do PostgreSQL. Para iniciar, utilize o comando:\n\n```bash\ndocker compose up\n```\n\n2. **Criando as tabelas e as migrations:** Para a criação das tabelas do banco, é utilizado o [Drizzle ORM](https://orm.drizzle.team/) para criar os _schemas_ e manipular as _queries SQL_ e o [Drizzle KIT](https://orm.drizzle.team/docs/kit-overview) contém os scripts para gerar as _migrations_ e aplicá-las no banco.\n\n```bash\npnpm run drizzle:generate \u0026\u0026 pnpm run drizzle:migrate\n```\n\n3. **Visualizando as tabelas:** Após gerar e aplicar as _migrations_, é possível visualizar as tabelas criadas a partir do studio que o _drizzle_ disponibiliza.\n\n```bash\npnpm run drizzle:studio\n```\n\nAgora seu banco de dados está pronto para ser utilizado.\n\n## API\n\nA API foi feita no próprio _framework_ Next.js, utilizando o suporte da tecnologia para criação dos endpoints.\n\n1. **Executando a aplicação:** Para executar a aplicação em modo de desenvolvimento, deve-se rodar o seguinte comando:\n\n```bash\npnpm run dev\n```\n\n2. **Acessando a API:** Por padrão, o acesso é feito na porta `3000`. Sendo assim, para rodar localmente, a URL base é `http://localhost:3000/api`.\n3. **Rotas da API:** Para documentar as rotas existentes, há um arquivo exportado do [Insomnia](https://insomnia.rest/) contendo a [documentação das rotas](./docs/Insomnia_requests.json) da aplicação.\n\n## UI\n\nA Interface de usuário foi desenvolvida com o mesmo _framework_ Next.js utilizado para a API.\n\n1. **Executando a aplicação:** Para executar a aplicação, o [primeiro passo](#api) para iniciar a API se repete.\n\n2. **Acessando a interface:** Com a aplicação sendo executada, acesse `http://localhost:3000` no navegador de sua preferência.\n\n3. **Login:** Para acessar, um usuário admin deve estar logado na aplicação. Para isso, existe uma seed para o banco de dados para poder iniciar com administradores fictícios:\n\n```bash\npnpm run seed\n```\n\nCom isso, 2 usuários admin padrão serão criados\n\n| email            | Senha    |\n| ---------------- | -------- |\n| bruno@email.com  | Test@123 |\n| samuel@email.com | Test@456 |\n\n4. **Dentro da plataforma:** A página inicial é onde estão listados os leads. Aqui é possível criar e deletar um lead, visualizar seus consumos e exportá-los para um arquivo `CSV` ou `XLSX`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunocaputo%2Fclean-energy-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrunocaputo%2Fclean-energy-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunocaputo%2Fclean-energy-platform/lists"}