Giter Site home page Giter Site logo

fiscalizaja / fiscalizaja-deputados Goto Github PK

View Code? Open in Web Editor NEW
13.0 0.0 0.0 977 KB

Website do FiscalizaJá, versão para deputados federais.

Home Page: https://deputados.fiscalizaja.com

License: MIT License

JavaScript 0.49% TypeScript 51.80% Astro 19.98% SCSS 27.73%
fiscalizacao open-data political politics transparency transparencia-politica

fiscalizaja-deputados's Introduction

🔍 FiscalizaJá Deputados

Seja bem-vindo! 👋

Este é o website oficial do FiscalizaJá Deputados. Feito com Astro + React + 💙

🙋‍♂️ A diferença começa aqui.

Eu sou Victor Reis David. Um jovem programador de 17 anos que visa fazer diferença no mundo contemporâneo.

Programação me tirou da depressão e abriu meus olhos. Hoje eu faço uso da mesma para abrir os olhos do mundo.

Este projeto foi desenvolvido com muito carinho para ser um pedacinho de contribuição para um futuro melhor para a nossa geração ❤

Não deixe que o "julgamento pela capa" te cegue! Este repositório tem um altíssimo valor para a sociedade brasileira. E seria uma honra ver forks aperfeiçoando e dando origem a novos produtos e ideias. Estão a vontade para clonar e fazerem suas versões modificadas, vai com tudo galera!

Só não apague o verdadeiro objetivo do FiscalizaJá...

🤨 Por que Astro?

Astro é um framework moderno, simples porém poderoso. É focado em conteúdo estático (suporta SSR) e possui alta performance.

Isso é explicado porquê o site tem alta pontuação em performance, somente o que é necessário ser interativo que é renderizado com JS, o resto é HTML estático!

Vantagens em migrar do Next.js para o Astro

  • Simples, performático, poderoso: O Astro combina simplicidade com elegância, que rapidamente conquistou meu coração.
  • Use sem abrir mão do seu framework UI preferido: O Astro funciona com uma gama de frameworks UI: React, Angular, Vue, Svelte, etc. No meu caso que amo React, foi uma mão na roda!!

Desenvolver com Astro aqui foi uma experiência incrível e eu te convido a conhecer o framework, se ainda não conhece! https://astro.build

🔑 Variáveis de ambiente

As únicas variáveis de ambiente são PUBLIC_API_URL, PUBLIC_SERVERSIDE_API_URL, PUBLIC_PRODUCTION_URL.

PUBLIC_API_URL="https://deputados.fiscalizaja.com/api"
PUBLIC_SERVERSIDE_API_URL="http://127.0.0.1:3000"
PUBLIC_PRODUCTION_URL="https://deputados.fiscalizaja.com"
  • PUBLIC_API_URL: URL da API usada no lado do cliente. Usada também no servidor se PUBLIC_SERVERSIDE_API_URL for ausente.
  • PUBLIC_SERVERSIDE_API_URL: URL da API usada no lado do servidor. É útil em casos onde a API e o Site estão rodando na mesma máquina, sendo mais vantajoso usar o localhost no lado do servidor e no lado do cliente usar a URL da API no domínio.
  • PUBLIC_PRODUCTION_URL: Usada nas meta tags em produção, esse é a URL base do site.

Você pode defini-lá no seu ambiente ou fazer um arquivo .env.

A urls da API apontadas nas variáveis deve ser para uma URL válida do serviço rest do FiscalizaJá Deputados.

🚀 Selfhosting

As etapas para selfhosting de uma aplicação Astro são parecidas com a de uma aplicação Next.js, porém, tem algumas diferenças:

  • O Astro gera somente HTML estático! Que dizer que não tem nativamente um webserver, como o Next.

Devido a isso, precisamos de algo que se chama adapters! Exatamente, para cada ambiente de runtime haverá um adapter: @astrojs/vercel, @astrojs/cloudflare, etc.

Para o nosso caso, nós precisamos do @astrojs/node, pois não estamos em um runtime serverless (no entanto, você pode migrar facilmente para a Vercel ou outra plataforma!).

  • O @astrojs/node é responsável por criar um webserver para nós, que poderá servir tanto as páginas estáticas quanto as dinâmicas (ssr), que são as dos deputados.

Se você for apenas testar, pode usar o modo de desenvolvimento: npx astro dev.

🙆‍♂️ Iniciando o webserver

Antes de tudo, você deve compilar as páginas com npx astro build.

Isso irá gerar todas as páginas estáticas e a runtime do webserver, que agora entra a diferença para o Nextjs.

  • No Nextjs, seria necessário somente usar npx next start -p $PORT apóis isso, que o servidor iniciaria.

No astro, é diferente:

  • Você vai ver uma pasta chamada dist no seu diretório, navegue para dentro dela.
    • Dentro haverá duas pastas: client e server. O que nos interessa é a pasta server.
      • Dentro de server haverá um arquivo chamado entry.mjs, é ele que você deve rodar!
node server/entry.mjs

Feito isso, seu servidor está no ar!

Recomendável: deixar atrás de um proxy reverso como o NGINX e usar uma ferramenta como o pm2 para usar clustering.

👐 Contribuições

O projeto é totalmente aberto a contribuições, serão todas bem-vindas e contribuirão para a esperança de um dia o Brasil mudar.

fiscalizaja-deputados's People

Contributors

victoreisdavid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.