diff --git a/docs/PostMortem.html b/docs/PostMortem.html new file mode 100644 index 0000000..042f749 --- /dev/null +++ b/docs/PostMortem.html @@ -0,0 +1,155 @@ + + + + + + AgroBase + + + + + + + +
+ +
+
+ DAB-Logo +
+
+
+
+

Desvende o sucesso do agronegócio brasileiro

+
+
+
+
+
+
+
+

Post Mortem

+
+
+
+

Este documento tem por finalidade fornecer uma avaliação crítica quanto ao projeto, realizado na etapa final, é de suma importância sua leitura, pois ele contém informações cruciais para auxiliar no desenvolvimento de projetos futuros.

+

PONTOS DO PROJETO

+

Positivos

+

  • O engajamento da equipe no projeto resultou em um ambiente de trabalho colaborativo e motivador, promovendo o crescimento mútuo e a troca de conhecimentos.
  • +
  • A exposição a diversas tecnologias desconhecidas ampliou o conjunto de habilidades da equipe, tornando-os versáteis e prontos para enfrentar diferentes desafios tecnológicos no futuro.
  • +
  • A compreensão dos projetos de código aberto permitiu que a equipe valorizasse a colaboração e a importância de contribuir para a comunidade de desenvolvedores.
  • +
  • A familiaridade com o Linux proporcionou uma base sólida de conhecimento em sistemas operacionais, oferecendo maior flexibilidade e adaptabilidade na escolha de ferramentas e ambientes de desenvolvimento.
  • +
  • O desenvolvimento de um vocabulário técnico mais amplo capacitou a equipe a se comunicar de forma mais eficaz com outros profissionais da área e entender melhor a documentação e recursos disponíveis.
  • +
  • A descoberta de diferentes carreiras relacionadas à programação abriu um leque de oportunidades para a equipe explorar seus interesses e encontrar o caminho mais adequado para suas habilidades e aspirações.
  • +
  • A experiência em utilizar o GitHub aprofundadamente fortaleceu a compreensão da equipe sobre controle de versão e colaboração em projetos de software, preparando-os para trabalhar em equipes distribuídas e ambientes profissionais.
  • +

    +

    Negativos

    +

  • A disciplina exige um investimento significativo de tempo e dedicação, ultrapassando os créditos pré-estabelecidos. Seria mais apropriado matricular-se em menos disciplinas do que o número sugerido, a fim de evitar uma carga excessiva de trabalho.
  • +
  • No inicio a falta de organização das issues prejudicou o andamento do projeto, dificultando o acompanhamento das tarefas e a identificação das prioridades.
  • +
  • Adiar a conclusão de algumas tarefas específicas para a última hora prejudicou o andamento do projeto, causando pressão desnecessária.
  • +

    + +

    CONSELHOS

    +

  • Organizar cuidadosamente o tempo de trabalho, definindo prazos realistas e distribuindo as tarefas de forma equilibrada entre os membros da equipe.
  • +
  • Priorizar uma comunicação efetiva com todos os membros do projeto, garantindo que todos estejam alinhados, compartilhem informações relevantes e estejam cientes das atualizações e mudanças.
  • +
  • Dar prioridade às funcionalidades principais do projeto, focando nos requisitos essenciais para alcançar os objetivos estabelecidos.
  • +
  • Manter o conhecimento padronizado entre os membros da equipe, garantindo que todos estejam familiarizados com as melhores práticas, metodologias e tecnologias relevantes ao projeto. Isso promove consistência e facilita a colaboração.
  • +

    + +

    FEELING INDIVUDUAL

    +

    Mayara Alves


    +

      Essa foi minha primeira experiência trabalhando em um projeto de software em equipe foi uma jornada de aprendizado e crescimento pessoal e profissional. Desde o início, percebi que a colaboração e o trabalho em equipe eram fundamentais para o sucesso do projeto.
    +   No começo, enfrentamos desafios comuns de uma equipe inexperiente. Porém, isso nos permitiu aprender juntos, trocar conhecimentos e nos adaptar às demandas do projeto. Aprendemos sobre metodologias ágeis, + como o Scrum, e como dividir tarefas e responsabilidades entre os membros da equipe. A comunicação efetiva se tornou uma prioridade, garantindo que todos estivessem alinhados, compartilhando informações relevantes e resolvendo problemas de forma colaborativa.
    +   Ao longo do projeto, enfrentamos obstáculos técnicos e tomadas de decisões desafiadoras. A necessidade de aprender novas tecnologias, foi assustadora no início, mas com o apoio da equipe, fomos capazes de superar + esses desafios e expandir nossas habilidades técnicas.
    +   Além disso, trabalhar em um ambiente de projeto de software em equipe me permitiu adquirir valiosas habilidades profissionais. Aprendi a ser mais organizado, a gerenciar meu tempo de forma eficiente e a priorizar tarefas importantes. A comunicação + clara e efetiva com os colegas de equipe se tornou uma parte essencial do meu trabalho, melhorando minha capacidade de expressar minhas ideias e ouvir as perspectivas dos outros.
    +   Essa experiência também me ensinou a importância da responsabilidade individual e do comprometimento com os prazos e objetivos estabelecidos. Aprender a lidar com a pressão e a trabalhar de forma produtiva sob limitações de tempo foi um desafio, mas essencial para o meu crescimento profissional.
    +   No final do projeto, pude ver o quanto cresci pessoal e profissionalmente. A experiência de trabalhar em equipe me deu confiança nas minhas habilidades e me permitiu explorar diferentes áreas do desenvolvimento de software. + Aprendi a valorizar a importância do trabalho em equipe, da comunicação efetiva e do compartilhamento de conhecimento. +


    +

    Millena Queiroz


    +

      MDS foi muito enriquecedor para minha formação profissional na área de desenvolvimento de software. Ao explorar essa disciplina, pude aprofundar meu conhecimento sobre as práticas e técnicas que são usadas no mercado, principalmente no que diz respeito a qualidade de software que é minha área de interesse.
    +   A aplicação dos métodos ágeis durante o curso foi algo super positivo. A gente consegue notar a diferença ao comparar com trabalhos de outras disciplinas que não aplicamos esses métodos.
    +   Outro aspecto bacana foi a introdução ao sistema operacional Linux, confesso que eu tinha muito receio quanto a trocar de SO, mas valeu muito a pena.
    +   Apesar das dificuldades em conciliar as disciplinas que exigiam entrega de projetos, considero q a matéria foi essencial para minha trajetória profissional.
    + na área de qualidade de software. Isso serve até de conselho: Dificilmente conseguiremos nos aprofundar em todas as habilidades (front, back, devops…), então algo que tirei de lição também foi que é muito importante ter noção de todas essas áreas, + mas usar a disciplina a seu favor também, para investir e se aprofundar naquilo que você pretende seguir como carreira (mas sempre alinhando com sua equipe).
    +   Gostaria de agradecer muito a minha equipe que sempre se esforçou bastante nas entregas, apoiaram bastante uns aos outros e que deram seu melhor (apesar do semestre caótico :p). +


    +

    Breno Queiroz


    +

      A matéria de MDS é excelente para o desenvolvimento do aluno, pois aproxima o discente + da vivência do mercado de trabalho. O desenvolvimento do projeto utilizando práticas agéis + trás um crescimento muito grande em soft skills. E a metodologia, que deixa o grupo decidir quais + tecnologias usar, ajuda os alunos a desenvolverem uma cultura autoditada, fundamental no mundo de + software, onde novas tecnologias surgem a todo momento. +


    +

    Henrique Torres


    +

    +   Essa foi a primeira disciplina que senti que teria um contato direto com um projeto de software + de verdade, as primeiras aulas me chamaram muito a atenção e estava muito ansioso para começar + a desenvolver. O meu grande impedimento na disciplina foi o fato de eu ter começado a estagiar, me tomou muito + tempo de estudo, pois tive que aprender muitas coisas em um curto período de tempo, então acabei sugerindo + para o grupo que usassemos Angular para desenvolver o frontend do projeto, pois é o mesmo framework que uso no + estágio, logo já pouparia um pouco de tempo de aprendizado.
    +   No começo foi bem cansativo eram muitas coisas novas para aprender, mas o que mais me motivava era + que eu via sobre algo no estágio e logo em seguida tinha uma aula de MDS sobre o mesmo tema, então isso foi + muito legal. Essa matéria foi, até então, a disciplina que eu sinto que mais absorvi conhecimentos práticos + ,como por exemplo, ferramentas de versionamento, métodos ágeis, o que é e como funciona uma API e entre outras + coisas, foi muito produtivo.
    +   Tentei contribuir ao máximo com o projeto, por sorte peguei um ótimo grupo, todo mundo sintonizou muito + bem e conseguiu colaborar bastante e por isso a gente conseguiu desenvolver em uma velocidade razoável. Porém eu + senti que, infelizmente, um dos membros do nosso grupo acabou ficando mais sobrecarregado que os outros, mas não + sei dizer o porque disso ter acontecido. Concluindo, acredito que foi uma matéria muito produtiva e de bastante + aprendizado. +


    +

    Pedro Henrique


    +

      Foi minha primeira experiência de fato trabalhando em um projeto com significado e em conjunto e por conta + disso estava muito nervoso, não conhecia nenhuma das linguagens que íamos trabalhar e tive que aprender tudo do 0, além disso toda aquela pressão e fama que já existe ao redor da matéria sobre ela ser muito trabalhosa e difícil.
    +   Porém, conforme o projeto foi andando descobri que podia contar muito com os companheiros do meu grupo, + todos eles me ajudaram muito com coisas que eu não sabia ou estava errando, por isso uma das maiores lições que levarei desse projeto com certeza seria a comunicação, pedir ajuda quando não sabe, ajudar + sempre que puder e acima de tudo sempre comunicar sobre o que está fazendo, impedimentos e o que pretende fazer, que foi uma das coisas que tive alguns problemas durante o projeto.
    +   Apesar de tudo isso, foi uma experiência extremamente significativa para mim, consegui aprender muito, + tanto com a matéria em si quanto com o projeto e principalmente com as experiências que tive com o grupo e por isso acredito que tenha sido matéria mais marcante para mim em minha formação até agora.
    +


    +

    Gabriel Evaristo


    +

    +   No começo da disciplina confesso que dei uma patinada. Mas com um certo esforço, juntamente com o apoio da minha equipe, que por sinal foi excelente, consegui alinhar o conhecimento com os demais.
    +   atuei principalmente na área do front-end, e adorei a metodologia da disciplina, graças à ela, o trabalho se tornou dinâmico e, certamente, satisfatório de realizá-lo.
    +   Embora tenha sido um período extremamente desafiador, com diversas disciplinas que demandaram muito esforço, hoje sinto uma imensa satisfação, uma sensação de sucesso e gratidão pela minha incrível equipe. Além disso, percebo que amadureci não apenas como desenvolvedor, mas também como pessoa. + Essa experiência renovou minhas energias para prosseguir com a faculdade, e por isso sou profundamente grato.
    +



    +

    CONHECIMENTOS ADQUIRIDOS

    +

    + Acompanhe o desenvolvimento dos integrantes no grupo na autoavaliação de conhecimentos, desde o ínicio da disciplina até agora: +


    + Tabela-conhecimentos +
    +
    +
    +
    + +
    +
    + + + diff --git a/docs/Produto.html b/docs/Produto.html new file mode 100644 index 0000000..cf9c01f --- /dev/null +++ b/docs/Produto.html @@ -0,0 +1,86 @@ + + + + + + AgroBase + + + + + + + +
    + +
    +
    + DAB-Logo +
    +
    +
    +
    +

    Desvende o sucesso do agronegócio brasileiro

    +
    +
    +
    +
    +
    +
    +
    +

    Produto

    +
    +
    +
    +

    PERSONA

    +

    + Nossa persona é uma representação fictícia de um cliente ideal que possui características e necessidades semelhantes. É uma técnica usada no marketing e no desenvolvimento de produtos para compreender melhor o público-alvo. Ao criar uma persona, + é importante considerar informações demográficas, comportamentais, objetivos, desafios e motivações do cliente em potencial. +


    + Persona +

    BACKLOG

    +

    + Nosso backlog é uma lista organizada de tarefas, funcionalidades e requisitos que precisam ser realizados para atingir os objetivos do projeto. Ele é utilizado para registrar e + priorizar as demandas de trabalho, garantindo que as equipes estejam alinhadas em relação ao que precisa ser feito. Clique para acessa nosso Backlog. +


    + Backlog +

    PROTÓTIPO

    +

    + Nosso protótipo de alta fidelidade é uma representação visual e interativa de um produto ou interface, que se assemelha de forma bastante precisa ao produto final. Ele é usado para validar conceitos, + testar a usabilidade e obter feedback dos usuários antes do desenvolvimento completo. Clique para acessa nosso Protótipo. +


    + Prototipo +

    IDENTIDADE VISUAL

    +

    + Nossa A identidade visual é o conjunto de elementos visuais que representam a marca e transmitem sua personalidade e valores por meio do design. Ela inclui elementos como logotipo, + paleta de cores, tipografia, ícones, ilustrações e outros elementos gráficos. Clique para acessa nossa Identidade Visual. +


    + Identidade +
    +
    +
    +
    + +
    +
    + + + \ No newline at end of file diff --git a/docs/css/app.css b/docs/css/app.css deleted file mode 100644 index cc68dd6..0000000 --- a/docs/css/app.css +++ /dev/null @@ -1,446 +0,0 @@ -:root { - --text-color: white; - --text-dark-color: white; - --header-height: 100px; - --burger-width: 40px; - --font-headings: Georgia, serif; - - --bcg-green: #DEB887; - --bcg-lightgreen: #a6b3b3; - --bcg-lightbrown: #b0a7a4; - --bcg-lightblue: #a3abb1; - - --bcg-loaderblue: #DEB887; - --bcg-loaderbluedark: #566C76; - --bcg-fill-color: var(--bcg-green); - - --loader-width: 27.36vw; - --loader-height: 50vh; - - --v-spacing: 10vh; - --h-gutter: 6.6vw; - - --easing: cubic-bezier(0.5, 0.7, 0.4, 1); -} - -body { - font: 16px/1.7 'Source Sans Pro', Helvetica, Helvetica Neue, Arial, sans-serif; - color: var(--text-dark-color); -} -/* hide page content by default */ -.is-loading #main, -.is-loading .burger, -.is-loading .main-nav, -.is-loading .fill-background { - display: none; -} -.is-loading { - background-color: var(--bcg-loaderblue); -} -.is-transitioning { - pointer-events: none; - cursor: progress; -} - -#viewport { - overflow: hidden; - position: fixed; - height: 100%; - width: 100%; - top: 0; - left: 0; -} - -/* =Top Nav */ -.logo { - - left: 0; - height: var(--header-height); - width: 280px; - display: flex; - align-items: center; - z-index: 3; - pointer-events: none; - - position: fixed; - top: 0; - right: calc(var(--h-gutter) + 3vw); - z-index: 3; -} - - -.logo__text { - color: var(--text-color); - font-size: 3.0vw; - font-family: var(--font-headings); - letter-spacing: 7px; - padding-left: var(--h-gutter); - opacity: 1; - text-transform: uppercase; -} - -/* =Main Navigation */ -.main-nav { - position: fixed; - top: 0; - right: calc(var(--h-gutter) + 3vw); - z-index: 3; -} -.main-nav ul { - list-style: none; - padding: 0; - margin: 0; - display: flex; -} -.main-nav li { - padding: 0; - margin-right: 3vw; - height: var(--header-height); - display: flex; - align-items: center; -} -.main-nav a { - color: var(--text-color); - text-decoration: none; - text-transform: uppercase; - letter-spacing: 0.1vw; - position: relative; - overflow: hidden; -} -.main-nav a::after { - display: block; - content: ''; - height: 2px; - background-color: var(--text-color); - position: absolute; - bottom: 0; - width: 100%; - transform: translateX(-101%); -} -.main-nav a:hover::after { - transition: transform 0.3s var(--easing); - transform: translateX(0); -} -.main-nav a.animate-out::after { - transition: transform 0.3s var(--easing); - transform: translateX(100%); -} - -/* =Header */ -header { - min-height: 100vh; - display: flex; - justify-content: center; - align-items: center; - position: relative; - flex-direction: column; - perspective: 1000px; - z-index: 2; -} -header h1 { - font-family: var(--font-headings); - font-weight: normal; - color: #fff; - font-size: 7vw; - line-height: 7.4vw; - z-index: 1; - margin-bottom: 0; - pointer-events: none; -} -header h1 span { - display: block; -} -.subtitle { - z-index: 1; - font-size: 1.3vw; - color: #fff; - letter-spacing: 0.3vw; - transform: translateX(-9vw); - font-weight: 300; - pointer-events: none; -} -.decor__circle { - border: 1px white solid; - border-radius: 100%; - width: 23vw; - height: 23vw; - position: absolute; - top: 45vh; - left: 27vw; - opacity: 0.4; - pointer-events: none; -} -.decor__circle2 { - border: 1px white solid; - border-radius: 100%; - width: 23vw; - height: 23vw; - position: absolute; - top: 70vh; - left: 45vw; - opacity: 0.4; - pointer-events: none; -} -.cta__circle { - width: 7.7vw; - height: 7.7vw; - position: absolute; - top: auto; - bottom: -3.8vw; - left: 58%; - background-size: 50% 50%; - pointer-events: none; -} - -@keyframes rotation { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg) ; } -} - -.hg__image, -.rg__image { - position: absolute; - top: 0; - left: 0; - background-color: #000000; - pointer-events: none; -} -.hg__image--l { - width: 18vw; - padding-bottom: 26vw; -} -.hg__image--m { - width: 18vw; - padding-bottom: 26.55vw; -} -.hg__image--s { - width: 13vw; - padding-bottom: 19vw; -} -.hg__image img, -.rg__image img, -.blog__image img, -.stage__image img, -.loader__image img { - top: 0; - left: 0; - width: 100%; - height: 100%; - position: absolute; - object-fit: cover; - object-position: 50% 50%; - opacity: 0.8 -} -.hg__left .hg__image:nth-child(1) { - top: 17vh; - left: 10vw; -} -.hg__left .hg__image:nth-child(2) { - top: 30vh; - left: 1vw; -} -.hg__left .hg__image:nth-child(3) { - top: 56vh; - left: 9vw; -} - -.hg__right .hg__image:nth-child(1) { - top: 17vh; - left: auto; - right: 5vw; - width: 24vw; - padding-bottom: 26vw; -} -.hg__right .hg__image:nth-child(2) { - top: 30vh; - left: auto; - right: 1vw; -} -.hg__right .hg__image:nth-child(3) { - top: 56vh; - left: auto; - right: 10vw; - width: 16vw; - padding-bottom: 20vw; - z-index: 1; -} - -/* =Loader */ -.loader, .loader__content { - min-height: 100vh; - position: fixed; - flex-direction: column; - z-index: 4; - top: 0; - left: 0; - width: 100%; - visibility: hidden; - overflow: hidden; -} -.loader__mask { - position: absolute; - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 100%; - background: var(--bcg-loaderblue) url('./img/logomarca.jpg') no-repeat center; - background-size: 155px 155px; - overflow: hidden; -} -.loader .inner, -.loader__content .inner { - width: var(--loader-width); - height: var(--loader-height); -} -.loader .inner { - background-color: var(--bcg-loaderbluedark); - position: relative; -} -.loader .progress { - background-color: var(--bcg-lightblue); - position: absolute; - left: 0; - top: 0; - width: var(--loader-width); - height: var(--loader-height); -} -.loader__content { - z-index: 4; - display: flex; - justify-content: center; - align-items: center; - background: transparent; - visibility: hidden; /* hide loader content by default */ -} -.loader__title { - font-size: 7vw; - line-height: 8vw; - margin: 0; - font-family: var(--font-headings); - color: var(--text-color); - font-weight: normal; - position: absolute; - text-align: center; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 5; -} -.loader__image { - width: var(--loader-width); - padding-bottom: 50vh; - overflow: hidden; - position: relative; -} -.loader__title--mask { - overflow: hidden; -} -.loader__title--mask span { - display: block; -} -.loader__image--mask { - overflow: hidden; - width: 100%; - height: 100%; - position: absolute; -} - -/* =Main */ -main { - z-index: 1; - position: relative; -} -section { - position: relative; -} -.with-padding { - padding: var(--v-spacing) 0; -} -.with-padding-bottom { - padding-bottom: var(--v-spacing); -} -.chapter { - position: absolute; - left: var(--h-gutter); - top: var(--v-spacing); - z-index: 2; - color: var(--text-color); - font-size: 1.6vw; -} -.chapter span { - opacity: 0.4; -} - -.image_inside { - position: absolute; - opacity: 0.8; - top: -10%; - left: 0; - width: 100%; - height: 115%; - background-size: cover; -} -.fill-background { - top: 0; - left: 0; - width: 100%; - height: 100%; - position: fixed; - will-change: background-color; - background-color: var(--bcg-fill-color); - transition: background-color 0.3s linear; -} - -/* =Blog */ -.blog { - color: var(--text-color); -} -.blog .chapter, -.contact .chapter { - top: inherit; - left: inherit; - position: relative; - margin: 0 var(--h-gutter) var(--v-spacing) var(--h-gutter); -} -.blog__image { - margin: 0 50% 0 16.6%; - padding-bottom: 50%; - position: relative; - overflow: hidden; -} -.blog__image img { - opacity: 1; - height: 120%; - top: -20%; -} -.post__date { - font-size: 1.6vw; - opacity: 0.6; -} -.blog__text { - position: absolute; - left: calc(50vw + var(--h-gutter)); - right: calc(var(--h-gutter) * 2); - top: calc(50% + (var(--v-spacing) / 2)); - transform: translateY(-50%); -} -.blog__text h3 { - font-family: var(--font-headings); - font-size: 2.0vw; - line-height: 1.192307692; - font-weight: normal; - letter-spacing: 0.1vw; -} - -.contact .chapter { - color: var(--text-dark-color); -} -.is-flipped .blog__image { - margin: 0 16.6% 0 50%; -} -.is-flipped .blog__text { - right: calc(50vw + var(--h-gutter)); - left: 16.6%; -} - diff --git a/docs/css/pack.css b/docs/css/pack.css new file mode 100644 index 0000000..761c6f9 --- /dev/null +++ b/docs/css/pack.css @@ -0,0 +1,796 @@ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary{ + display:block +} +audio, +canvas, +video{ + display:inline-block +} +audio:not([controls]){ + display:none; + height:0 +} +[hidden], +template{ + display:none +} +html{ + font-family:sans-serif; + -ms-text-size-adjust:100%; + -webkit-text-size-adjust:100% +}body{ + margin:0 +} +a{ + background:0 0 +} + a:focus{ + outline:thin dotted + } + a:active, + a:hover{ + outline:0 + } +h1{ + font-size:2em; + margin:.67em 0 +} +abbr[title]{ + border-bottom:1px dotted +} +b, +strong{ + font-weight:900 +} +dfn{ + font-style:italic +} +hr{ + -moz-box-sizing:content-box; + box-sizing:content-box; + height:0 +} +mark{ + background:#ff0; + color:#000 +} +code, +kbd, +pre, +samp{ + font-family:monospace,serif; + font-size:1em +} +pre{ + white-space:pre-wrap +} +q{ + quotes:"\201C" "\201D" "\2018" "\2019" +} +small{ + font-size:80% +} + sub, + sup{ + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline + } + sup{ + top:-.5em} + sub{ + bottom:-.25em + } + img{ + border:0 + } + svg:not(:root){ + overflow:hidden + } + figure{ + margin:0 + } + fieldset{ + border:1px solid rgb(77, 76, 76); + margin:0 2px; + padding:.35em .625em .75em + } + legend{ + border:0;padding:0 + } + button, + input, + select, + textarea{ + font-family:inherit; + font-size:100%; + margin:0 + } + button, + input{ + line-height:normal + } + button, + select{ + text-transform:none + } + button, + html input[type=button], + input[type=reset], + input[type=submit]{ + -webkit-appearance:button; + cursor:pointer + } + button[disabled], + html input[disabled]{ + cursor:default + } + input[type=checkbox], + input[type=radio]{ + box-sizing:border-box; + padding:0 + } + input[type=search]{ + -webkit-appearance:textfield; + -moz-box-sizing:content-box; + -webkit-box-sizing:content-box; + box-sizing:content-box + } + input[type=search]::-webkit-search-cancel-button, + input[type=search]::-webkit-search-decoration{ + -webkit-appearance:none + } + button::-moz-focus-inner, + input::-moz-focus-inner{ + border:0; + padding:0 + } + textarea{ + overflow:auto; + vertical-align:top + } + table{ + border-collapse:collapse; + border-spacing:0 + } + .fancybox-image, + .fancybox-inner, + .fancybox-nav, + .fancybox-nav span, + .fancybox-outer, + .fancybox-skin, + .fancybox-tmp, + .fancybox-wrap, + .fancybox-wrap iframe, + .fancybox-wrap object{ + padding:0; + margin:0; + border:0; + outline:0; + vertical-align:top + } + .fancybox-wrap{ + position:absolute; + top:0; + left:0; + z-index:8020 + } + .fancybox-skin{ + position:relative; + background:#f9f9f9; + color:#444; + text-shadow:none; + -webkit-border-radius:4px; + -moz-border-radius:4px; + border-radius:4px + } + .fancybox-opened{ + z-index:8030 + } + .fancybox-opened + .fancybox-skin{ + -webkit-box-shadow:0 10px 25px rgba(0,0,0,.5); + -moz-box-shadow:0 10px 25px rgba(0,0,0,.5); + box-shadow:0 10px 25px rgba(0,0,0,.5) + } + .fancybox-inner, + .fancybox-outer{ + position:relative + } + .fancybox-inner{ + overflow:hidden + } + .fancybox-type-iframe + .fancybox-inner{ + -webkit-overflow-scrolling:touch + } + .fancybox-error{ + color:#444; + font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + margin:0; + padding:15px; + white-space:nowrap + } + .fancybox-iframe, + .fancybox-image{ + display:block; + width:100%; + height:100% + } + .fancybox-image{ + max-width:100%; + max-height:100% + } + #fancybox-loading, + .fancybox-close, + .fancybox-next span, + .fancybox-prev span{ + background-image:url('../img/fancybox_sprite.png') + } + #fancybox-loading{ + position:fixed; + top:50%; + left:50%; + margin-top:-22px; + margin-left:-22px; + background-position:0 -108px; + opacity:.8; + cursor:pointer; + z-index:8060 + } + #fancybox-loading div{ + width:44px; + height:44px; + background:url('../img/fancybox_loading.gif') center center no-repeat + } + .fancybox-close{ + position:absolute; + top:-18px; + right:-18px; + width:36px; + height:36px; + cursor:pointer; + z-index:8040 + } + .fancybox-nav{ + position:absolute; + top:0; + width:40%; + height:100%; + cursor:pointer; + text-decoration:none; + background:transparent url('../img/blank.gif'); + -webkit-tap-highlight-color:transparent; + z-index:8040 + } + .fancybox-prev{ + left:0 + } + .fancybox-next{ + right:0 + } + .fancybox-nav span{ + position:absolute; + top:50%; + width:36px; + height:34px; + margin-top:-18px; + cursor:pointer; + z-index:8040; + visibility:hidden + } + .fancybox-prev span{ + left:10px; + background-position:0 -36px + } + .fancybox-next span{ + right:10px; + background-position:0 -72px + } + .fancybox-nav:hover span{ + visibility:visible + } + .fancybox-tmp{ + position:absolute; + top:-99999px; + left:-99999px; + visibility:hidden; + max-width:99999px; + max-height:99999px; + overflow:visible!important + } + .fancybox-lock{ + overflow:hidden!important; + width:auto + } + .fancybox-lock body{ + overflow:hidden!important + } + .fancybox-lock-test{ + overflow-y:hidden!important + } + .fancybox-overlay{ + position:absolute; + top:0; + left:0; + overflow:hidden; + display:none; + z-index:8010; + background:url('../img/fancybox_overlay.png') + } + .fancybox-overlay-fixed{ + position:fixed; + bottom:0 + ;right:0 + } + .fancybox-lock + .fancybox-overlay{ + overflow:auto; + overflow-y:scroll + } + .fancybox-title{ + visibility:hidden; + font:normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + position:relative; + text-shadow:none; + z-index:8050 + } + .fancybox-opened + .fancybox-title{ + visibility:visible + } + .fancybox-title-float-wrap{ + position:absolute; + bottom:0; + right:50%; + margin-bottom:-35px; + z-index:8050; + text-align:center + } + .fancybox-title-float-wrap + .child{ + display:inline-block; + margin-right:-100%; + padding:2px 20px; + background:0 0; + background:rgba(0,0,0,.8); + -webkit-border-radius:15px; + -moz-border-radius:15px; + border-radius:15px; + text-shadow:0 1px 2px #222; + color:#fff; + font-weight:700; + line-height:24px; + white-space:nowrap + } + .fancybox-title-outside-wrap{ + position:relative; + margin-top:10px; + color:#fff + } + .fancybox-title-inside-wrap + {padding-top:10px + } + .fancybox-title-over-wrap{ + position:absolute; + bottom:0; + left:0; + color:#fff; + padding:10px; + background:#000; + background:rgba(0,0,0,.8) + } + @media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){ + #fancybox-loading,.fancybox-close,.fancybox-next span,.fancybox-prev span{background-image:url('../img/fancybox_sprite@2x.png');background-size:44px 152px}#fancybox-loading div{background-image:url('../img/fancybox_loading@2x.gif');background-size:24px 24px} + } + html{ + font:16px/1 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif + } + li a{ + font-size:.875em + } + a{ + color:#066902; + text-decoration:none + } + .gittext{color:#414040; + font-weight:700 + } + .lowercase{ + text-transform:lowercase + } + h1,h2,h3,h4{ + font-weight:300 + } + h1{ + font-size:3.125em + } + h1 span{ + color:#3d3d3d; + font-size:.42em; + margin-left:.476em + } + h2{ + font-size:3em; + line-height:1.3 + } + h3{ + font-size:1.875em; + line-height:1.3 + } + h4{ + font-size:1.5em; + line-height:1.1 + } + .content{ + margin-left:auto; + margin-right:auto; + width:85%; + min-width:33em; + max-width:66.25em + } + header{ + background-color:#d2f7da; + background-image:-webkit-gradient(radial,center center,0,center center,100%,color-stop(0,rgba(235, 235, 235, 0.7)),color-stop(50%,rgba(200, 200, 200, 0.3)),color-stop(100%,rgba(30,30,30,.25))); + background-image:-webkit-radial-gradient(center,ellipse cover,rgba(235,235,235,.7) 0,rgba(200,200,200,.3) 50%,rgba(30,30,30,.25) 100%);background-image:-moz-radial-gradient(center,ellipse cover,rgba(235,235,235,.7) 0,rgba(200,200,200,.3) 50%,rgba(30,30,30,.25) 100%);background-image:-ms-radial-gradient(center,ellipse cover,rgba(235,235,235,.7) 0,rgba(200,200,200,.3) 50%,rgba(30,30,30,.25) 100%);background-image:-o-radial-gradient(center,ellipse cover,rgba(235,235,235,.7) 0,rgba(200,200,200,.3) 50%,rgba(30,30,30,.25) 100%);background-image:radial-gradient(ellipse at center,rgba(235,235,235,.7) 0,rgba(200,200,200,.3) 50%,rgba(30,30,30,.25) 100%); + background-repeat:repeat; + height:30.3125em; + padding-top:.6em + } + header h1{ + margin-top:.18em + } + header h2{ + font-size:2.5em; + margin-top:0 + } + footer{ + background-color:#c8c8c8; + background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#c8c8c8),color-stop(100%,#fff)); + background-image:-webkit-linear-gradient(top,#c8c8c8 0,#fff 100%);background-image:-moz-linear-gradient(top,#c8c8c8 0,#fff 100%); + background-image:-ms-linear-gradient(top,#c8c8c8 0,#fff 100%);background-image:-o-linear-gradient(top,#c8c8c8 0,#fff 100%); + background-image:linear-gradient(to bottom,#c8c8c8 0,#fff 100%);border-top:solid 1px #f0f0f0 + } + footer div{ + padding-top:.9375em + } + footer h1{ + font-size:1.375em; + margin-top:-.273em + } + footer .gittext{ + color:#474646 + } + nav{ + border-bottom:solid 1px #c8c8c8; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + height:4.375em; + margin-bottom:2em; + padding:0 1.3em + } + nav h1{ + float:left + } + footer a, + nav ul{ + float:right + } + nav ul{ + margin-top:2.375em + } + footer li, + nav li{ + text-transform:uppercase; + float:left; + margin-left:1.5625em + } + div.version{ + position:absolute; + margin-top:5em; + text-transform:uppercase; + color:#0f4105 + } + .feature article{ + position:relative; + padding-right:0; + width:49.2%; + margin-left:auto; + margin-right:0; + height:20em + } + .feature h2{ + border-bottom:solid 1px #bebebe; + color:#828282; + line-height:1.625em; + margin-bottom:.375em; + padding:.125em .375em + } + .button{ + background-color:#4be980; + background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4b8ce9),color-stop(100%,#24801c)); + background-image:-webkit-linear-gradient(top,#4b8ce9 0,#2c66b8 100%); + background-image:-moz-linear-gradient(top,#4b8ce9 0,#2c66b8 100%); + background-image:-ms-linear-gradient(top,#4b8ce9 0,#2c66b8 100%); + background-image:-o-linear-gradient(top,#4b8ce9 0,#2c66b8 100%); + background-image:linear-gradient(to bottom,#50e94b 0,#339c25 100%); + -webkit-box-shadow:inset 0 1px 0 hsla(0,100%,100%,.2), + inset 0 0 2px hsla(0,100%,100%,.2),0 1px 2px hsla(0,0%,0%,.29); + -moz-box-shadow:inset 0 1px 0 hsla(0,100%,100%,.2),inset 0 0 2px hsla(0,100%,100%,.2),0 1px 2px hsla(0,0%,0%,.29); + box-shadow:inset 0 1px 0 hsla(0,100%,100%,.2),inset 0 0 2px hsla(0,100%,100%,.2),0 1px 2px hsla(0,0%,0%,.29); + -webkit-border-radius:0.238em; + -moz-border-radius:.238em; + border-radius:.238em; + border:1px solid #4b7d0a; + color:#fff; + display:inline-block; + font-size:1.3125em; + padding:.476em 3%; + text-align:center; + text-shadow:0 -1px 0 rgba(0,0,0,.4) + } + .featurebutton{ + float:left; + margin:0 1%; + width:41% + } + .imagerollover{ + float:left; + position:relative; + width:36.5% + } + .imagerollover img{ + position:absolute; + -webkit-transition:opacity 1s ease-in-out; + -moz-transition:opacity 1s ease-in-out; + -o-transition:opacity 1s ease-in-out; + transition:opacity 1s ease-in-out; + width:100%; + height:auto + } + .vcentercontainer div, + .vcentercontainer img{ + vertical-align:middle + } + .vcentercontainer img{ + margin:2.8125em auto + } + .details{ + background-color:#275e15 + } + .details article{ + border-bottom:solid .3125em; + border-top:solid .3125em #0f5004 + } + .details .gittext{ + color:#fff + } + .details p{ + margin-top:0; + font-size: 20px; + } + .details p a{ + color:#a3ffa3; + text-decoration:underline + } + .details h2{ + background-color:#1e7e2e; + border-bottom:solid .104em #78c171; + border-top:solid .104em #78c171; + -webkit-box-shadow:0 0 .8333em rgba(0, 0, 0, 0.4); + -moz-box-shadow:0 0 .8333em rgba(0,0,0,.4); + box-shadow:0 0 .8333em rgba(0,0,0,.4); + clear:both; + color:#fff; + margin-bottom:.625em; + margin-top:.9375em; + padding:.1875em 0; + text-align:center; + text-shadow:0 -1px rgba(0,0,0,.5) + } + .details h3{ + color:#f5f5f5; + margin-bottom:0; + margin-top:.8333em; + text-shadow:0 -1px rgba(0,0,0,.35) + } + .details h4{ + color:#f5f5f5; + margin-bottom:0; + margin-top:.75em; + text-shadow:0 -1px rgba(0,0,0,.35) + } + .details + .button{ + border:1px solid #464646 + ;background-color:#e0e0e0; + background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e0e0e0),color-stop(100%,#a3a3a3)); + background-image:-webkit-linear-gradient(top,#e0e0e0 0,#a3a3a3 100%); + background-image:-moz-linear-gradient(top,#504d4d 0,#a3a3a3 100%); + background-image:-ms-linear-gradient(top,#e0e0e0 0,#a3a3a3 100%); + background-image:-o-linear-gradient(top,#e0e0e0 0,#a3a3a3 100%); + background-image:linear-gradient(to bottom,#575555 0,#868484 100%); + margin-right:1%; + text-shadow:0 -1px 0 rgba(0,0,0,.6) + } + .details + .content{ + height:39.0625em + } + .details p{ + color:#ebebeb; + line-height:1.9375em; + margin-bottom:.3125em; + text-shadow:0 -1px rgba(0,0,0,.35) + } + .details li{ + font-size: 18px; + color:#ebebeb; + line-height:1.9375em; + margin-bottom:.3125em; + text-shadow:0 -1px rgba(0,0,0,.35) + } + .details + .vcentercontainer:first-child{ + margin-right:5% + } + .verticalgallery{ + float:none; + text-align:center + } + .verticalgallery img{ + -webkit-box-shadow:0 0 2.8125em rgba(8, 43, 5, 0.17); + -moz-box-shadow:0 0 2.8125em rgba(23, 48, 18, 0.17); + box-shadow:0 0 2.8125em rgba(6, 59, 13, 0.17); + margin:1.875em auto; + width:100%; + height:auto + } + .detailstext{ + float:left; + width:58% + } + .detailstextPostMortem{ + float:left; + width:100% + } + .detailsimg{ + float:left; + width:35% + } + .contributecontent + .detailsimg *{ + width:100%; + height:auto + } + .list-unstyled{ + list-style-type:none; + padding-left:0 + } + .stud{ + clear:both + } + @media screen and (max-width:1050px){.content{width:80%}}@media screen and (max-width:880px){.content{width:90%}}@media screen and (max-width:750px){ + html{ + font-size:16px + } + .feature h2{ + font-size:2.2em + } + h2{ + font-size:1.15em + } + .button{ + font-size:1em + } + .featurebutton{ + width:36% + } + .content{ + width:100%; + min-width:600px + } + header{ + height:auto + } + .feature article{ + width:65%; + height:12em; + padding-bottom:2% + } + .detailstext{ + width:58% + } + .detailsimg{ + width:35% + } + .imagerollover{ + width:30% + } + .verticalgallery img{ + width:100% + } + footer a + ,nav ul{ + float:right + }} + @media screen and (max-width:600px){ + .content{ + min-width:380px + } + html{ + font-size:14px + } +.feature h2{ + font-size:2em +} +.feature article{ + height:12em +} +.detailstext{ + width:58% +} +.detailsimg{ + width:35% +} +}@media screen and (max-width:380px) +{ + .content{ + min-width:240px + } +.feature h2{ + font-size:1.1em +} +.feature article{ + height:12em +} +.detailstext{ + width:55% +} +.detailsimg{ + width:30% +} +.featurebutton{ + width:40% +} +nav ul{ + float:right; + margin-top:0 +} +footer h1{ + display:none +}}@media screen and (max-width:240px){ + .content{ + min-width:240px} + html{ + font-size:8px} +.feature h2{ + font-size:1em +} +.feature article{ + height:9em} +} +.perfil{ + width:220px; + height:220px; + display: inline-block; + margin-left:50px; + margin-right:25px;} + +.backlog{ + width: 1200px; + height: 700px; +} \ No newline at end of file diff --git a/docs/img/Identidade-visual.png b/docs/img/Identidade-visual.png new file mode 100644 index 0000000..f3eb6e9 Binary files /dev/null and b/docs/img/Identidade-visual.png differ diff --git a/docs/img/Persona.png b/docs/img/Persona.png new file mode 100644 index 0000000..513cf8d Binary files /dev/null and b/docs/img/Persona.png differ diff --git a/docs/img/Prototipo.png b/docs/img/Prototipo.png new file mode 100644 index 0000000..c6d5f9e Binary files /dev/null and b/docs/img/Prototipo.png differ diff --git a/docs/img/Tabela-conhecimentos.png b/docs/img/Tabela-conhecimentos.png new file mode 100644 index 0000000..3cc7c03 Binary files /dev/null and b/docs/img/Tabela-conhecimentos.png differ diff --git a/docs/img/agro-4.0.jpeg b/docs/img/agro-4.0.jpeg new file mode 100644 index 0000000..cf6e0de Binary files /dev/null and b/docs/img/agro-4.0.jpeg differ diff --git a/docs/img/backlog.png b/docs/img/backlog.png new file mode 100644 index 0000000..5276074 Binary files /dev/null and b/docs/img/backlog.png differ diff --git a/docs/img/fazendeiro_plantando.png b/docs/img/fazendeiro_plantando.png new file mode 100644 index 0000000..312bfcb Binary files /dev/null and b/docs/img/fazendeiro_plantando.png differ diff --git a/docs/img/img_landscape-01-large.jpg b/docs/img/img_landscape-01-large.jpg deleted file mode 100644 index 0e86e93..0000000 Binary files a/docs/img/img_landscape-01-large.jpg and /dev/null differ diff --git a/docs/img/img_landscape-02-large.jpg b/docs/img/img_landscape-02-large.jpg deleted file mode 100644 index 0dedd01..0000000 Binary files a/docs/img/img_landscape-02-large.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-01-480-720.jpg b/docs/img/img_portfolio-01-480-720.jpg deleted file mode 100644 index 841aff0..0000000 Binary files a/docs/img/img_portfolio-01-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-02-480-720.jpg b/docs/img/img_portfolio-02-480-720.jpg deleted file mode 100644 index 56a5a49..0000000 Binary files a/docs/img/img_portfolio-02-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-03-480-720.jpg b/docs/img/img_portfolio-03-480-720.jpg deleted file mode 100644 index 7c74144..0000000 Binary files a/docs/img/img_portfolio-03-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-04-480-720.jpg b/docs/img/img_portfolio-04-480-720.jpg deleted file mode 100644 index 96388f0..0000000 Binary files a/docs/img/img_portfolio-04-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-05-480-720.jpg b/docs/img/img_portfolio-05-480-720.jpg deleted file mode 100644 index eafd2bc..0000000 Binary files a/docs/img/img_portfolio-05-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-06-480-720.jpg b/docs/img/img_portfolio-06-480-720.jpg deleted file mode 100644 index 18a1509..0000000 Binary files a/docs/img/img_portfolio-06-480-720.jpg and /dev/null differ diff --git a/docs/img/img_portfolio-07-480-720.jpg b/docs/img/img_portfolio-07-480-720.jpg deleted file mode 100644 index 533931c..0000000 Binary files a/docs/img/img_portfolio-07-480-720.jpg and /dev/null differ diff --git a/docs/img/logomarca.png b/docs/img/logomarca.png new file mode 100644 index 0000000..4a8f5d5 Binary files /dev/null and b/docs/img/logomarca.png differ diff --git a/docs/img/maquinas.jpg b/docs/img/maquinas.jpg new file mode 100644 index 0000000..396bad9 Binary files /dev/null and b/docs/img/maquinas.jpg differ diff --git a/docs/img/pecuaria.jpg b/docs/img/pecuaria.jpg new file mode 100644 index 0000000..0bddf92 Binary files /dev/null and b/docs/img/pecuaria.jpg differ diff --git a/docs/img/plantacao.jpg b/docs/img/plantacao.jpg new file mode 100644 index 0000000..0747d1a Binary files /dev/null and b/docs/img/plantacao.jpg differ diff --git a/docs/img/producao-trigo.jpg b/docs/img/producao-trigo.jpg new file mode 100644 index 0000000..4903444 Binary files /dev/null and b/docs/img/producao-trigo.jpg differ diff --git a/docs/img/produtor-organico.jpg b/docs/img/produtor-organico.jpg new file mode 100644 index 0000000..09dcbe5 Binary files /dev/null and b/docs/img/produtor-organico.jpg differ diff --git a/docs/img/safra.jpg b/docs/img/safra.jpg new file mode 100644 index 0000000..530702f Binary files /dev/null and b/docs/img/safra.jpg differ diff --git a/docs/index.html b/docs/index.html index ad81b5f..3ff954f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,198 +1,157 @@ - - - - - - AgroBase - - - - - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    AGROBASE
    -
    -
    -
    - -
    -
    -
    -
    - - - - -
    - -
    - -
    -

    - Dados do - Agronégocio - Brasileiro -

    -

    PRODUÇÃO AGRÍCOLA
    & PECUÁRIA

    -
    -
    -
    - -
    - - -
    -

    -

    -
    -
    - -
    -
    - -

    O AgroBase é uma plataforma que tem como objetivo - é criar um dashboard com dados relacionados ao agronegócio, - a fim de fornecer informações precisas e atualizadas para - tomada de decisões estratégicas pelos gestores do setor do agronégocio.

    -
    -
    -
    - - - -
    -

    -

    -
    -
    - -
    -
    - -

    A plataforma utilizará tecnologias web como HTML, - SCSS e TypeScript para o desenvolvimento - de interfaces e aplicações. A arquitetura em camadas (Layered Architecture) - será utilizada no sistema que será dividido em camadas - distintas, onde cada camada possui responsabilidades específicas. - que incluem a interface do usuário, - lógica de negócio e acesso a dados. -

    -
    -
    -
    - - - -
    -

    -

    -
    -
    - -
    -
    - -

    O código de conduta do nosso projeto é fundamental para - mantermos um ambiente colaborativo, - inclusivo e respeitoso. Nele, estabelecemos - as diretrizes que todos os participantes devem - seguir para garantir uma comunidade saudável e - livre de qualquer comportamento inadequado. - Para mais informações acesse nosso - código de conduta -

    -
    -
    - - - - -
    -

    -

    -
    -
    - -
    -
    - -

    Torna-se um colaborador abre as portas para um mundo - de aprendizado e crescimento. Você terá a chance de - trabalhar em projetos inovadores, desafiar-se com - problemas complexos e colaborar com desenvolvedores - talentosos ao redor do mundo. Essa é a chance de - fazer a diferença e deixar sua marca no universo - da tecnologia. Seja um contribuídor de nossa iniciativa - e acesse agora nosso Guia de contribuição -

    -
    -
    -
    - -
    -
    - - -
    - - - - - - - - - - - + + + + + + AgroBase + + + + + +
    + +
    +
    + DAB-Logo +
    + +
    +
    +
    +
    +

    Quem somos & Tecnologia e Arquitetura

    +
    +
    +
    +

    Este projeto é um website que tem como objetivo exibir informações e dados sobre o agronegócio brasileiro, incluindo informações sobre plantio e cultivo da produção agrícola e pecuária.

    +

    QUEM SOMOS

    +

    O AgroBase é uma plataforma que tem como objetivo é criar um dashboard com dados relacionados ao agronegócio, a fim de fornecer informações precisas e atualizadas para tomada de decisões + estratégicas pelos gestores do setor do agronégocio.

    +

    TECNOLOGIAS E ARQUITETURA

    +

    A plataforma utilizará tecnologias web como HTML, SCSS e TypeScript para o desenvolvimento de interfaces e aplicações. A arquitetura em camadas (Layered Architecture) será utilizada no sistema que será dividido em camadas distintas, + onde cada camada possui responsabilidades específicas. que incluem a interface do usuário, lógica de negócio e acesso a dados.
    + Para o desenvolvimento do frontend foi utilizando Angular uma framework open-source liderado pela equipe da Google. +

    +

    Backend

    +

    Para o Backend foi desenvolvido uma API em Python utilizando a biblioteca FastAPI, + o principal objetivo da API é requisitar o banco de dados MongoDB que está hospedado + em serviço de nuvem oferecido pela própria MongoDB, o Atlas.

    + + O banco de dados foi populado utilizando scrips em Python, que são responsáveis por realizar + diversas requisições para a API do IBGE. Após as requisições os dados passam por um pequena + manipulação e são inseridos no banco de dados.

    +

    CÓDIGO DE CONDUTA

    +

    O Código de conduta do nosso projeto é fundamental para mantermos um ambiente colaborativo, inclusivo e respeitoso. Nele, estabelecemos as + diretrizes que todos os participantes devem seguir para garantir uma comunidade saudável e livre de qualquer comportamento inadequado + visando criar um ambiente inclusivo, acolhedor e respeitoso para todas as pessoas envolvidas no desenvolvimento deste projeto.

    +
    +
    + +
    +
    +

    Como Contribuir

    +
    +
    +
    + agro-4.0 + produtor-organico + plantacao + producao-trigo +
    +
    +
    +
    +

    Antes de começar, por favor, leia este documento para entender como colaborar de forma efetiva. Manual do Contribuidor.

    + +

    Como contribuir


    +

    1. Crie um fork do projeto;
    + 2. Clone o fork criado em sua máquina local;
    + 3. Crie uma branch para sua contribuição: git checkout -b minha-contribuicao;
    + 4. Realize as alterações em sua branch;
    + 5. Teste as alterações localmente;
    + 6. Faça um commit com uma mensagem clara e descritiva: git commit -m "Adiciona funcionalidade X";
    + 7. Faça o push da branch para o seu fork: git push origin minha-contribuicao;
    + 8. Abra um pull request para a branch master do repositório original e aguarde a revisão da sua contribuição. Certifique-se de que seu pull request siga as seguintes políticas:;
    +    8.1 Cada pull request deve conter apenas uma funcionalidade ou correção de bug.
    +    8.2 A mensagem de commit deve ser descritiva e objetiva.
    +    8.3 O pull request deve ter pelo menos um revisor antes de ser mesclado.
    + +

    Regras de contribuição


    +

    Para manter a qualidade do projeto, pedimos que você siga as seguintes regras ao contribuir:
    +   1. Escreva código claro e bem documentado.
    +   2. Siga as boas práticas de programação recomendadas para a linguagem e/ou framework utilizado.
    +   3. Teste o código antes de enviar a contribuição.
    +   4. Cada pull request deve conter apenas uma funcionalidade ou correção de bug.

    + + +

    Relatórios de bugs & problemas


    +

    Se você encontrar um bug ou tiver algum problema com o projeto, por favor, abra uma issue detalhando o problema encontrado. Nós ficaremos felizes em ajudar e solucionar o problema.

    + Abrir Issue


    +
    +
    +
    +

    Desenvolvedores

    + +
    +
    + + + diff --git a/docs/js/main.js b/docs/js/main.js deleted file mode 100644 index 4a20044..0000000 --- a/docs/js/main.js +++ /dev/null @@ -1,551 +0,0 @@ -gsap.registerPlugin(ScrollTrigger); - -let bodyScrollBar; - -const select = (e) => document.querySelector(e); -const selectAll = (e) => document.querySelectorAll(e); - -const sections = selectAll('.rg__column'); - -// create hover effect for each portfolio navigation item -const allLinks = gsap.utils.toArray('.portfolio__categories a'); -const pageBackground = select('.fill-background'); -const largeImage = select('.portfolio__image--l'); -const smallImage = select('.portfolio__image--s'); -const lInside = select('.portfolio__image--l .image_inside'); -const sInside = select('.portfolio__image--s .image_inside'); - -const loader = select('.loader'); -const loaderInner = select('.loader .inner'); -const progressBar = select('.loader .progress'); -const loaderMask = select('.loader__mask'); - -// images loaded -function init(){ - - // show loader on page load - gsap.set(loader, {autoAlpha: 1}); - - // scale loader down - gsap.set(loaderInner, {scaleY: 0.005, transformOrigin: 'bottom'}); - - // make a tween that scales the loader - const progressTween = gsap.to(progressBar, {paused: true, scaleX: 0, ease: 'none', transformOrigin: 'right'}); - - // setup variables - // https://codepen.io/desandro/pen/hlzaw - let loadedImageCount = 0, imageCount; - const container = select('#main'); - - // setup Images loaded - const imgLoad = imagesLoaded( container ); - imageCount = imgLoad.images.length; - - // set the initial progress to 0 - updateProgress(0); - - // triggered after each item is loaded - imgLoad.on( 'progress', function() { - // increase the number of loaded images - loadedImageCount++; - // update progress - updateProgress( loadedImageCount ); - }); - - // update the progress of our progressBar tween - function updateProgress( value ) { - // console.log(value/imageCount) - // tween progress bar tween to the right value - gsap.to(progressTween, {progress: value/imageCount, duration: 0.3, ease: 'power1.out'}) - } - - // do whatever you want when all images are loaded - imgLoad.on( 'done', function( instance ) { - // we will simply init our loader animation onComplete - gsap.set(progressBar, {autoAlpha: 0, onComplete: initPageTransitions}); - }); - -} - -init(); - -function pageTransitionIn({container}) { - // console.log('pageTransitionIn'); - // timeline to stretch the loader over the whole screen - const tl = gsap.timeline({ - defaults: { - duration: 0.8, - ease: 'power1.inOut' - } - }); - tl - .set(loaderInner, { autoAlpha: 0 }) - .fromTo(loader, { yPercent: -100 }, {yPercent: 0 }) - .fromTo(loaderMask, { yPercent: 80 }, {yPercent: 0 }, 0) - .to(container, { y: 150}, 0); - return tl; -} - -function pageTransitionOut({container}) { - // console.log('pageTransitionOut'); - // timeline to move loader away down - const tl = gsap.timeline({ - defaults: { - duration: 0.8, - ease: 'power1.inOut' - }, - onComplete: () => initContent() - }); - tl - .to(loader, { yPercent: 100 }) - .to(loaderMask, { yPercent: -80 }, 0) - .from(container, { y: -150}, 0); - return tl; -} - -function initPageTransitions() { - // do something before the transition starts - barba.hooks.before(() => { - select('html').classList.add('is-transitioning'); - }); - // do something after the transition finishes - barba.hooks.after(() => { - select('html').classList.remove('is-transitioning'); - }); - - // scroll to the top of the page - barba.hooks.enter(() => { - window.scrollTo(0, 0); - }); - - barba.init({ - transitions: [{ - once() { - // do something once on the initial page load - initLoader(); - }, - async leave({current}) { - // animate loading screen in - await pageTransitionIn(current); - }, - enter({next}) { - // animate loading screen away - pageTransitionOut(next); - } - }] - }); -} - -function initLoader() { - - const tlLoaderIn = gsap.timeline({ - id: 'tlLoaderIn', - defaults: { - duration: 1.1, - ease: 'power2.out' - }, - onComplete: () => initContent() - }); - - const image = select('.loader__image img'); - const mask = select('.loader__image--mask'); - const line1 = select('.loader__title--mask:nth-child(1) span'); - const line2 = select('.loader__title--mask:nth-child(2) span'); - const lines = selectAll('.loader__title--mask'); - const loaderContent = select('.loader__content'); - - tlLoaderIn - .set(loaderContent, {autoAlpha: 1}) - .to(loaderInner, { - scaleY: 1, - transformOrigin: 'bottom', - ease: 'power1.inOut' - }) - .addLabel('revealImage') - .from(mask, {yPercent: 100}, 'revealImage-=0.6') - .from(image, {yPercent: -80}, 'revealImage-=0.6') - .from([line1, line2], {yPercent: 100, stagger: 0.1}, 'revealImage-=0.4'); - - const tlLoaderOut = gsap.timeline({ - id: 'tlLoaderOut', - defaults: { - duration: 1.2, - ease: 'power2.inOut' - }, - delay: 1 - }); - - tlLoaderOut - .to(lines, {yPercent: -500, stagger: 0.2}, 0) - .to([loader, loaderContent], {yPercent: -100}, 0.2) - .from('#main', {y: 150}, 0.2); - - const tlLoader = gsap.timeline(); - tlLoader - .add(tlLoaderIn) - .add(tlLoaderOut); - -} - -function initContent() { - - select('body').classList.remove('is-loading'); - initSmoothScrollbar(); - initNavigation(); - initHeaderTilt(); - initHoverReveal(); - initPortfolioHover(); - initImageParallax(); - initPinSteps(); - initScrollTo(); - -} - -const updateBodyColor = (color) => { - // gsap.to('.fill-background', { backgroundColor: color, ease: 'none'}); - document.documentElement.style.setProperty('--bcg-fill-color', color); -} -const getTextHeight = (textCopy) => { - return textCopy.clientHeight; -} - -// Smoooth Scrollbar -function initSmoothScrollbar() { - - bodyScrollBar = Scrollbar.init(select('#viewport'), {damping: 0.07}); - - // remove horizontal scrollbar - bodyScrollBar.track.xAxis.element.remove(); - - // keep ScrollTrigger in sync with Smooth Scrollbar - ScrollTrigger.scrollerProxy(document.body, { - scrollTop(value) { - if (arguments.length) { - bodyScrollBar.scrollTop = value; // setter - } - return bodyScrollBar.scrollTop; // getter - } - }); - - // when the smooth scroller updates, tell ScrollTrigger to update() too: - bodyScrollBar.addListener(ScrollTrigger.update); - -} - -// Navigation Away - with updated trigger -function initNavigation(){ - - const mainNavLinks = gsap.utils.toArray('.main-nav a'); - const mainNavLinksRev = gsap.utils.toArray('.main-nav a').reverse(); - - mainNavLinks.forEach(link => { - link.addEventListener('mouseleave', e => { - - // add class - link.classList.add('animate-out'); - - }); - link.ontransitionend = function() { - //remove class - link.classList.remove('animate-out'); - } - }); - - function navAnimation(direction){ - const scrollingDown = direction === 1; - const links = scrollingDown ? mainNavLinks : mainNavLinksRev; - return gsap.to(links, { - duration: 0.3, - stagger: 0.05, - autoAlpha: () => scrollingDown ? 0 : 1, - y: () => scrollingDown ? 20 : 0, - ease: 'power4.out' - }); - } - - // updated trigger to #main instead of absolute 100 - ScrollTrigger.create({ - trigger: '#main', - start: 'top top-=100', - end: 'bottom bottom-=200', - toggleClass: { - targets: 'body', - className: 'has-scrolled' - }, - onEnter: ({direction}) => navAnimation(direction), - onLeaveBack: ({direction}) => navAnimation(direction), - // markers: true - }); - -} - -// Header Tilt -function initHeaderTilt() { - - select('header').addEventListener('mousemove', moveImages); - -} - -function moveImages(e){ - - const { offsetX, offsetY, target } = e; - const { clientWidth, clientHeight } = target; - - // console.log(offsetX, offsetY, clientWidth, clientHeight); - // get 0 0 in the center - const xPos = (offsetX/clientWidth) - 0.5; - const yPos = (offsetY/clientHeight) - 0.5; - - const leftImages = gsap.utils.toArray('.hg__left .hg__image'); - const rightImages = gsap.utils.toArray('.hg__right .hg__image'); - - const modifier = (index) => index*1.2+0.5; - - // move left 3 images - leftImages.forEach((image, index) => { - gsap.to(image, { - duration: 1.2, - x: xPos*20*modifier(index), - y: yPos*30*modifier(index), - rotationY: xPos*40, - rotationX: yPos*10, - ease:'power3.out' - }); - }); - - // move right 3 images - rightImages.forEach((image, index) => { - gsap.to(image, { - duration: 1.2, - x: xPos*20*modifier(index), - y: -yPos*30*modifier(index), - rotationY: xPos*40, - rotationX: yPos*10, - ease:'power3.out' - }); - }); - - gsap.to('.decor__circle', { - duration: 1.7, - x:100*xPos, - y:120*yPos, - ease:'power4.out' - }); - -} - -// Reveal Gallery -function initHoverReveal() { - - sections.forEach(section => { - - // get componenets for animation - section.imageBlock = section.querySelector('.rg__image'); - section.image = section.querySelector('.rg__image img'); - section.mask = section.querySelector('.rg__image--mask'); - section.text = section.querySelector('.rg__text'); - section.textCopy = section.querySelector('.rg__text--copy'); - section.textMask = section.querySelector('.rg__text--mask'); - section.textP = section.querySelector('.rg__text--copy p'); - - // reset the initial position - gsap.set([section.imageBlock, section.textMask], { yPercent: -101}); - gsap.set([section.mask, section.textP], { yPercent: 100}); - gsap.set(section.image, { scale: 1.2}); - - // add event listeners to each section - section.addEventListener('mouseenter', createHoverReveal); - section.addEventListener('mouseleave', createHoverReveal); - - }); -} - -function createHoverReveal(e){ - // console.log(e.type); - - const { imageBlock, mask, text, textCopy, textMask, textP, image, dataset } = e.target; - - const { color } = dataset; - - let tl = gsap.timeline({ - defaults: { - duration: 1.8, - ease: 'power4.out' - } - }); - - if(e.type === 'mouseenter'){ - - tl - .to([mask, imageBlock, textMask, textP], { - yPercent: 0, - onStart: () => updateBodyColor(color) - }) - .to(text, {y: () => -getTextHeight(textCopy)/2}, 0) - .to(image, {duration: 1.1, scale: 1}, 0); - - } else if(e.type === 'mouseleave') { - - tl - .to([mask, textP], {yPercent: 100}) - .to([imageBlock, textMask], {yPercent: -101}, 0) - .to(text, {y: 0}, 0) - .to(image, {scale: 1.2}, 0); - - } - - return tl; - -} - -// Portfolio Hover -function initPortfolioHover() { - allLinks.forEach(link => { - link.addEventListener('mouseenter', createPortfolioHover); - link.addEventListener('mouseleave', createPortfolioHover); - link.addEventListener('mousemove', createPortfolioMove); - }); -} - -function createPortfolioHover(e){ - - if(e.type === 'mouseenter'){ - - // change images to the right urls - // fade in images - // all siblings to white and fade out - // active link to white - // update page background color - - const { color, imagelarge, imagesmall } = e.target.dataset; - const allSiblings = allLinks.filter(item => item !== e.target); - const tl = gsap.timeline({ - onStart: () => updateBodyColor(color) - }); - tl - .set(lInside, { backgroundImage: `url(${imagelarge})`}) - .set(sInside, { backgroundImage: `url(${imagesmall})`}) - .to([largeImage, smallImage], { autoAlpha: 1}) - .to(allSiblings, { color: '#fff', autoAlpha: 0.2}, 0) - .to(e.target, {color: '#fff', autoAlpha: 1}, 0); - - } else if(e.type === 'mouseleave'){ - - // fade out images - // all links back to black - // change background color back to default - - const tl = gsap.timeline({ - onStart: () => updateBodyColor('#ACB7AE') - }); - tl - .to([largeImage, smallImage], { autoAlpha: 0}) - .to(allLinks, {color: '#000000', autoAlpha: 1}, 0); - - } - -} - -function createPortfolioMove(e){ - - const { clientY } = e; - - // move large image - gsap.to(largeImage, { - duration: 1.2, - y: getPortfolioOffset(clientY)/6, - ease: 'power3.out' - }); - - // move small image - gsap.to(smallImage, { - duration: 1.5, - y: getPortfolioOffset(clientY)/3, - ease: 'power3.out' - }); - -} - -function getPortfolioOffset(clientY) { - return -(select('.portfolio__categories').clientHeight - clientY); -} - -// Parallax Images -function initImageParallax() { - - // select all sections .with-parallax - gsap.utils.toArray('.with-parallax').forEach(section => { - - // get the image - const image = section.querySelector('img'); - - // create tween for the image - gsap.to(image, { - yPercent: 20, - ease: 'none', - scrollTrigger: { - trigger: section, - start: 'top bottom', - scrub: true - } - }); - - }); - -} - -// Fixed navigation -function initPinSteps() { - - ScrollTrigger.create({ - trigger: '.fixed-nav', - start: 'top center', - endTrigger: '#stage4', - end: 'center center', - pin: true, - pinReparent: true - }); - - const getVh = () => { - const vh = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); - return vh; - } - - gsap.utils.toArray('.stage').forEach((stage, index) => { - - const navLinks = gsap.utils.toArray('.fixed-nav li'); - - ScrollTrigger.create({ - trigger: stage, - start: 'top center', - end: () => `+=${stage.clientHeight+getVh()/10}`, - toggleClass: { - targets: navLinks[index], - className: 'is-active' - }, - onEnter: () => updateBodyColor(stage.dataset.color), - onEnterBack: () => updateBodyColor(stage.dataset.color), - }); - - }); - -} - -function initScrollTo(){ - - // find all links and animate to the right position - gsap.utils.toArray('.fixed-nav a').forEach(link => { - - const target = link.getAttribute('href'); - - link.addEventListener('click', (e) => { - e.preventDefault(); - console.log(select(target)); - bodyScrollBar.scrollIntoView(select(target), {damping: 0.07, offsetTop: 100}); - }); - - }); - -} - -// no window.addEventListener('load') because we are using imagesLoaded for preloading \ No newline at end of file diff --git a/docs/mkdocs/mkdocs.yml b/docs/mkdocs/mkdocs.yml deleted file mode 100644 index c97182f..0000000 --- a/docs/mkdocs/mkdocs.yml +++ /dev/null @@ -1 +0,0 @@ -site_name: My Docs