[
  {
    "path": ".dockerignore",
    "content": "# Git files (keep .git and .gitmodules for submodules)\n.gitignore\n\n# Hugo build output\npublic/\nresources/\n\n# Node modules (if any)\nnode_modules/\n\n# OS files\n.DS_Store\nThumbs.db\n\n# IDE files\n.vscode/\n.idea/\n*.swp\n*.swo\n\n# Temporary files\n*.tmp\n*.temp\n\n# Log files\n*.log\n\n# Documentation (not needed in container)\nREADME-HUGO.md\n\n# PDF files (large files not needed for build)\n*.pdf\n"
  },
  {
    "path": ".github/workflows/hugo.yml",
    "content": "# Sample workflow for building and deploying a Hugo site to GitHub Pages\nname: Deploy Hugo site to Pages\n\non:\n  # Runs on pushes targeting the default branch\n  push:\n    branches:\n      - main\n      - master\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\n# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages\npermissions:\n  contents: read\n  pages: write\n  id-token: write\n\n# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.\n# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.\nconcurrency:\n  group: \"pages\"\n  cancel-in-progress: false\n\n# Default to bash\ndefaults:\n  run:\n    shell: bash\n\njobs:\n  # Build job\n  build:\n    runs-on: ubuntu-latest\n    env:\n      HUGO_VERSION: 0.128.0\n    steps:\n      - name: Install Hugo CLI\n        run: |\n          wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \\\n          && sudo dpkg -i ${{ runner.temp }}/hugo.deb          \n      - name: Install Dart Sass\n        run: sudo snap install dart-sass\n      - name: Checkout\n        uses: actions/checkout@v4\n        with:\n          submodules: recursive\n          fetch-depth: 0\n      - name: Setup Pages\n        id: pages\n        uses: actions/configure-pages@v5\n      - name: Install Node.js dependencies\n        run: \"[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true\"\n      - name: Build with Hugo\n        env:\n          HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache\n          HUGO_ENVIRONMENT: production\n          TZ: America/Sao_Paulo\n        run: |\n          hugo \\\n            --gc \\\n            --minify \\\n            --baseURL \"${{ steps.pages.outputs.base_url }}/\"          \n      - name: Upload artifact\n        uses: actions/upload-pages-artifact@v3\n        with:\n          path: ./public\n\n  # Deployment job\n  deploy:\n    environment:\n      name: github-pages\n      url: ${{ steps.deployment.outputs.page_url }}\n    runs-on: ubuntu-latest\n    needs: build\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"themes/PaperMod\"]\n\tpath = themes/PaperMod\n\turl = https://github.com/adityatelange/hugo-PaperMod.git\n"
  },
  {
    "path": "Dockerfile",
    "content": "# Use the official Hugo extended image\nFROM hugomods/hugo:exts-0.148.2\n\n# Set the working directory inside the container\nWORKDIR /src\n\n# Install git (needed for theme submodules)\nRUN apk add --no-cache git\n\n# Copy the Hugo site files\nCOPY . .\n\n# Create an entrypoint script to handle git submodules at runtime\nRUN echo '#!/bin/sh' > /entrypoint.sh && \\\n    echo 'if [ -d \".git\" ] && [ -f \".gitmodules\" ]; then' >> /entrypoint.sh && \\\n    echo '  echo \"Initializing git submodules...\"' >> /entrypoint.sh && \\\n    echo '  git submodule update --init --recursive' >> /entrypoint.sh && \\\n    echo 'fi' >> /entrypoint.sh && \\\n    echo 'exec \"$@\"' >> /entrypoint.sh && \\\n    chmod +x /entrypoint.sh\n\n# Expose the port Hugo will run on\nEXPOSE 1313\n\n# Use the entrypoint script\nENTRYPOINT [\"/entrypoint.sh\"]\n\n# Set the default command to run Hugo server\nCMD [\"hugo\", \"server\", \"--bind\", \"0.0.0.0\", \"--port\", \"1313\", \"--buildDrafts\", \"--buildFuture\", \"--disableFastRender\", \"--baseURL\", \"http://localhost:1313\"]\n"
  },
  {
    "path": "LICENSE",
    "content": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n"
  },
  {
    "path": "ProjetoIndividualCarla2023-1.md",
    "content": "# Trabalho individual de GCES 2023-1 - Turma Carla\n\n\nOs conhecimentos de Gestão de Configuração de Software são fundamentais no ciclo de vida de um produto de software. As técnicas para a gestão vão desde o controle de versão, automação de build e de configuração de ambiente, testes automatizados, isolamento do ambiente até o deploy do sistema. Todo este ciclo nos dias de hoje são integrados em um pipeline de DevOps com as etapas de Integração Contínua (CI) e Deploy Contínuo (CD) implementadas e automatizada.\n\nPara exercitar estes conhecimentos, neste trabalho, você deverá aplicar os conceitos estudados ao longo da disciplina no produto de software contido neste repositório.\n\nO sistema se trata de uma biblioteca python para executar pipelines de dados de forma customizável em bancos de dados.\n\nPara executar a aplicação em sua máquina, basta seguir o passo-a-passo descritos abaixo.\n\n# Resumo da aplicação \n\n As aplicações disponíveis são códigos gerados a partir de pesquisas. Ou seja, os algoritmos são excelentes, a engenharia de software nem tanto. Entao vamos contribuir para a pesquisa mundial!\n Escolha seu projeto e configure o pipeline!\n\n\n # Etapas do Trabalho\n\n O trabalho deve ser elaborado através de etapas. Cada uma das etapas deve ser realizada em um commit separado com o resultado funcional desta etapa.\n\nAs etapas de 1 a 3 são relacionadas ao isolamento do ambiente utilizando a ferramenta Docker e Docker Compose. Neste sentido o tutorial abaixo cobre os conceitos fundamentais para o uso destas tecnologias.\n\n[Tutorial de Docker](https://github.com/FGA-GCES/Workshop-Docker-Entrega-01/tree/main/tutorial_docker)\n\nAs etapas de 4 e 5 são relacionadas à configuração do pipeline de CI e CD.\n\n[Tutorial CI - Gitlab](https://github.com/FGA-GCES/Workshop-CI-Entrega-02/tree/main/gitlab-ci_tutorial)\n\n\n## Containerização do Banco\n\nA primeira etapa do trabalho é de configurar um container somente para o banco de dados com as credenciais especificadas na descrição da aplicação e testar o funcionamento do mesmo.\n\n## Containerização da aplicação \n\nNesta etapa,  a aplicação  quanto o banco deverão estar funcionando em containers individuais.\n\nDeverá ser utilizado um orquestrador (Docker Compose) para gerenciar comunicação entre os containers além do uso de credenciais, networks, volumes, entre outras configurações necessárias para a correta execução da aplicação.\n\n## Gestão de dependencias e pacotes python\n\nConfigurar o gerenciador de dependencias e pacotes python, o poetry, para gerar um pacote pip da solução. Publicar a biblioteca\n\nhttps://python-poetry.org\n\n## Documentação automatizada\n\nGerar a documentação da biblioteca de forma automatizada com o sphinx para criar documentação https://www.sphinx-doc.org\n\n\n\n##  Integração Contínua (CI)\n\nPara a realização desta etapa, a aplicação já deverá ter seu ambiente completamente containerizado.\n\nDeverá ser utilizada uma ferramenta de Integração Contínua para garantir o build, os testes e o deploy para o https://pypi.org .\n\nEsta etapa do trabalho poderá ser realizada utilizado os ambientes de CI do GitLab-CI ou Github Actions.\n\nRequisitos da configuração da Integração Contínua (Gitlab ou Github) incluem:\n\nBuild (Poetry)\nTest - unitários\nLint - \nDocumentação (sphinx)\n\n\n## Avaliação\n\nA avaliação do trabalho será feita à partir da correta implementação de cada etapa. A avaliação será feita de maneira **quantitativa** (se foi realizado a implementação + documentação), e **qualitativa** (como foi implementado, entendimento dos conceitos na prática, complexidade da solução). Para isso, faça os **commits atômicos, bem documentados, completos** a fim de facilitar o entendimento e avaliação do seu trabalho. Lembrando o trabalho é individual. A entrega vai ser o link do repositorio na issue e também uma apresentação de 5 min em sala de aula.\n\n**Observações**: \n1. A data final de entrega do trabalho é o dia 28/06/2023;\n2. O trabalho deve ser desenvolvido em um **repositório PESSOAL e PRIVADO** que deverá ser tornado público somente após a data de entrega do trabalho (no dia 28/06/2023);\n3. Cada etapa do trabalho deverá ser entregue em commits progressivos (pendendo ser mais de um commit por etapa);\n4. Os **commits devem estar espaçados em dias ao longo do desenvolvimento do trabalho**. Commits feitos todos juntos na data de entrega não serão descontados da nota final.\n\n| Item | Peso |\n|---|---|\n| 1. Containerização do Banco                      | 1.0 |\n| 2. Containerização da biblioteca + Banco          | 1.5 |\n| 3. Publicação da biblioteca  | 1.5 |\n| 4. Documentação automatiza | 1.5 |\n| 5. Integração Contínua (Build, Test, Lint, documentacao)       | 3.0 |\n| 6. Deploy Contínuo                               | 1.5 |\n\n\n##  Exemplo de Trabalhos Anteriores\n\nAlguns trabalhos de trabalhos anteriores:\n\n- [2020/2](https://github.com/FGA-GCES/Trabalho-Individual-2020-2)\n- [2021/1](https://github.com/FGA-GCES/Workshop-Docker-Entrega-01)\n- [2021/2](https://github.com/FGA-GCES/Trabalho-Individual-2021-2)\n\n\n\n### Requisitos de instação\n\n```\npython -m venv env\nsource env/bin/activate\npip install -r requirements.txt\n```\n\n### Rodando a aplicação\n\n```\npython src/main.py\n```\n\n### Testando\n\n```\npytest --cov\n```\n\n\n# Projetos Disponíveis\n\nAbaixo estão disponibilizados os projetos para o trabalho. Cada projeto deve ter, no máximo 2 alunos alocados (o trabalho pode ser feito em dupla). Para fazer esse controle, coloque seu nome e o nome do projeto escolhido na planilha (primeiro a preencher, primeiro servido). \n\n- Planilha - [https://docs.google.com/spreadsheets/d/1HlnADGew1it-0cRQyybiZUaQfVzRxH6HHTaD81PVV5s/edit?usp=sharing](https://docs.google.com/spreadsheets/d/1HlnADGew1it-0cRQyybiZUaQfVzRxH6HHTaD81PVV5s/edit?usp=sharing)\n\n- BARK AI: but with the ability to use voice cloning on custom audio samples\n[https://github.com/serp-ai/bark-with-voice-clone](https://github.com/serp-ai/bark-with-voice-clone)\n\n- Escolha o projeto da lista - [https://paperswithcode.com/sota](https://paperswithcode.com/sota)\nAbra o PR ;)\n\n- Galera do Decidim - refatorar o pipeline do decidim pro gitlab - [https://gitlab.com/lappis-unb/decidimbr/decidim/-/tree/develop/.github](https://gitlab.com/lappis-unb/decidimbr/decidim/-/tree/develop/.github)"
  },
  {
    "path": "Projetos_2021_1.md",
    "content": "# Projetos 2021/1\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2021.\n\n## External Secrets Operator\n- Página de Documentação: https://external-secrets.io  \n- Repositório Oficial: https://github.com/external-secrets/external-secrets  \n- Meta Coach: Lucas Severo\n\n## Kubernetes 1.23 Release Team Shadow applications - pre requisito: confortável em falar ingles\n- Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n- Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md\n- Meta Coach: Ricardo/Severo \n\n- - -\n\n## Projeto: Kubernetes\nrepo: https://github.com/kubernetes/kubernetes\nWebsite: http://kubernetes.io/docs\nSlack: https://kubernetes.slack.com/\n\n- - - \n\n## Projeto: Kubernetes Release team (shadow)\n\nInfos: \nKubernetes 1.23 Release Team Shadow applications are open and are due by August 13th, 2021.Application Form: https://forms.gle/7As7hacvMhxBQaox8Ref: https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n\n\n## Houdini\n- Repositório Oficial: https://github.com/houdiniproject/houdini\n- Meta Coach:Clarissa borges\n\n\n## KTextEditor / Kate (KDE)\n- Página de Oficial: https://kate-editor.org/pt-br/\n- Repositório Oficial: https://invent.kde.org/utilities/kate\n- Bug Traker/ Issues: https://bugs.kde.org/describecomponents.cgi?product=kate\n- Meta Coach: Tomaz Canabrava\n  \n## Rasa\n- Página Oficial: https://rasa.com  \n- Repositório Oficial: https://github.com/RasaHQ   \n- Meta Coach: Arthur Temporim\n\n## RocketChat\n- Página Oficial: https://rocket.chat  \n- Repositório Oficial: https://github.com/RocketChat  \n- Meta Coach: Djorkaeff Alexandre\n\n## SiGeD - Sistema de Gerenciamento de Demandas\n- Página de Oficial: https://fga-eps-mds.github.io/2020-2-SiGeD/\n- Página de Documentação: https://fga-eps-mds.github.io/2020-2-SiGeD/home/  \n- Repositório Oficial: https://github.com/fga-eps-mds/2020-2-SiGeD     \n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Meta-Coach: Renato Sampaio\n"
  },
  {
    "path": "Projetos_2021_2.md",
    "content": "# Projetos 2021/2\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2021.\n\n<!-- ## External Secrets Operator\n- Página de Documentação: https://external-secrets.io  \n- Repositório Oficial: https://github.com/external-secrets/external-secrets  \n- Meta Coach: Lucas Severo\n\n## Kubernetes 1.23 Release Team Shadow applications - pre requisito: confortável em falar ingles\n- Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n- Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md\n- Meta Coach: Ricardo/Severo \n\n- - -\n\n## Projeto: Kubernetes\nrepo: https://github.com/kubernetes/kubernetes\nWebsite: http://kubernetes.io/docs\nSlack: https://kubernetes.slack.com/\n\n- - - \n\n## Projeto: Kubernetes Release team (shadow)\n\nInfos: \nKubernetes 1.23 Release Team Shadow applications are open and are due by August 13th, 2021.Application Form: https://forms.gle/7As7hacvMhxBQaox8Ref: https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n\n\n -->\n \n ## Kubernetes 1.23 Release Team Shadow applications - pre requisito: confortável em falar ingles\n- Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n- Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md\n- Meta Coach: Ricardo/Severo \n\n \n## Jandig\n - Repositório Oficial: https://github.com/memeLab/Jandig\n - Meta Coach: Pablo / Rodrigo\n - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig\n - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/\n \n## Houdini\n- Repositório Oficial: https://github.com/houdiniproject/houdini\n- Meta Coach:Clarissa borges\n\n## Debian Image Finder\n- Repositório Oficial: https://salsa.debian.org/cloud-team/image-finder\n- Documentação: https://cloud-team.pages.debian.net/image-finder/\n- Meta Coach: Arthur Diniz\n\n## KTextEditor / Kate (KDE)\n- Página de Oficial: https://kate-editor.org/pt-br/\n- Repositório Oficial: https://invent.kde.org/utilities/kate\n- Bug Traker/ Issues: https://bugs.kde.org/describecomponents.cgi?product=kate\n- Meta Coach: Tomaz Canabrava\n  \n## Rasa\n- Página Oficial: https://rasa.com  \n- Repositório Oficial: https://github.com/RasaHQ   \n- Meta Coach: Arthur Temporim\n\n<!-- ## RocketChat\n- Página Oficial: https://rocket.chat  \n- Repositório Oficial: https://github.com/RocketChat  \n- Meta Coach: Djorkaeff Alexandre -->\n\n## SysArq - Sistema de Arquivos da Seção de Arquivo Geral da PCGO\n- Página de Documentação: [https://fga-eps-mds.github.io/2020-2-SiGeD/home/  ](https://fga-eps-mds.github.io/2021.1-PC-GO1/)\n- Repositório Oficial: [https://github.com/fga-eps-mds/2020-2-SiGeD](https://github.com/DITGO/2021.1-PC-GO1)\n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Meta-Coach: Renato Sampaio\n"
  },
  {
    "path": "Projetos_2022_1_Turma_T02.md",
    "content": "# Projetos 2022/1 - Turma T02 - Prof. Renato Sampaio\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2022.\n\n## Kdenlive (KDE)\n- Página de Oficial: https://kdenlive.org/en/\n- Repositório Oficial: https://invent.kde.org/multimedia/kdenlive\n- Bug Traker/ Issues: https://bugs.kde.org/buglist.cgi?product=kdenlive\n- Meta Coach: Farid Abdelnour \n\n## Rocs (KDE)\n- Página de Oficial: https://apps.kde.org/pt-br/rocs/\n- Repositório Oficial: https://invent.kde.org/education/rocs\n- Meta Coach: Tomaz Canabrava\n\n## SiGeD - Sistema de Gerenciamento de Demandas\n- Página de Oficial: https://fga-eps-mds.github.io/2020-2-SiGeD/\n- Página de Documentação: https://fga-eps-mds.github.io/2020-2-SiGeD/home/  \n- Repositório Oficial: https://github.com/DITGO     \n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Meta-Coach: Renato Sampaio\n\n## Atlas of Opportunity\n- Repositório Oficial: https://github.com/gpmc-lab-ufrgs/atlas  \n- Meta-Coach: Leonardo Gomes"
  },
  {
    "path": "Projetos_2022_2_Turma_T01.md",
    "content": "# Projetos 2022/2 - Turma T01 - Profa. Carla Rocha\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2022.\n\n## Kubernets\n- Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ\n- Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md\n- repo: https://github.com/kubernetes/kubernetes\n- Website: http://kubernetes.io/docs\n- Slack: https://kubernetes.slack.com/\n- Meta Coach: Ricardo/Severo/Marcos \n\n## Jandig\n - Repositório Oficial: https://github.com/memeLab/Jandig\n - Meta Coach: Pablo / Rodrigo\n - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig\n - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/\n - Meta Coach: Pablo/Rodrigo\n\n ## Houdini\n- Repositório Oficial: https://github.com/houdiniproject/houdini\n- Meta Coach:Clarissa borges\n\n## Rasa\n- Página Oficial: https://rasa.com  \n- Repositório Oficial: https://github.com/RasaHQ   \n- Meta Coach: Arthur Temporim\n\n\n\n# Projetos 2022/2 - Turma T02 - Prof. Renato Coral\n\n## Kdenlive (KDE)\n- Página de Oficial: https://kdenlive.org/en/\n- Repositório Oficial: https://invent.kde.org/multimedia/kdenlive\n- Bug Traker/ Issues: https://bugs.kde.org/buglist.cgi?product=kdenlive\n- Meta Coach: Farid Abdelnour \n\n## Rocs (KDE)\n- Página de Oficial: https://apps.kde.org/pt-br/rocs/\n- Repositório Oficial: https://invent.kde.org/education/rocs\n- Meta Coach: Tomaz Canabrava\n\n## SiGeD - Sistema de Gerenciamento de Demandas\n- Repositório Oficial: https://github.com/DITGO     \n- Página de Documentação: [https://fga-eps-mds.github.io/2020-2-SiGeD/home/](https://fga-eps-mds.github.io/2021-2-SiGeD-Doc/)  \n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Meta-Coach: Renato Sampaio\n\n## Atlas of Opportunity\n- Repositório Oficial: https://github.com/gpmc-lab-ufrgs/atlas  \n- Repositório do Backend: https://github.com/gpmc-lab-ufrgs/atlas-backend\n- Meta-Coach: Leonardo Gomes\n\n# Questionário de Seleção de Projetos (Turma Renato Sampaio)\n\nhttps://docs.google.com/forms/d/e/1FAIpQLSfOLfn1xRX9qar0II2TdD1UkBRjkyhskueY80cP0NtDL05rWg/viewform?usp=sf_link\n"
  },
  {
    "path": "Projetos_2023_1.md",
    "content": "# Projetos 2023/1 - Turma T01 - Profa. Carla Rocha\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2023.\n\n## Decidim\n\nO Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona.\n\nEsforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira\n\n- [https://github.com/decidim/decidim](https://github.com/decidim/decidim)\n\n\n\n# Stackoverflow Mining\n\nProjeto de TCC DA Gabi guedes. Essa solução permite utilizar processamento de linguagem natural para identificar temas recorrentes no stackoverflow. \nAinte tem uma etapa manual nesse processo, que é a extração das conversas no stackoverflow. O objetivo é automatizar o pipeline para diversos contextos.\n\n\n- [https://github.com/gianlucascoccia/MSR2021Replication](https://github.com/gianlucascoccia/MSR2021Replication)\n\n\n## Jandig\n - Repositório Oficial: https://github.com/memeLab/Jandig\n - Meta Coach: Pablo / Rodrigo\n - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig\n - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/\n - Meta Coach: Pablo/Rodrigo\n\n ## Houdini\n- Repositório Oficial: [https://github.com/houdiniproject/houdini](https://github.com/houdiniproject/houdini)\n- Meta Coach:Clarissa borges\n\n## Hygia\n- projeto de pipeline de machine learning em bancos de dados.\n- Projeto privado \n\n## Vambora\nProjeto de MDS para gestão de caronas na fga\n[https://github.com/fga-eps-mds/2022-2-Vambora](https://github.com/fga-eps-mds/2022-2-Vambora)\n\n\n\n# Projetos 2023/1 - Turma T02 - Prof. Renato Coral\n\n<!-- ## Kdenlive (KDE)\n- Página de Oficial: https://kdenlive.org/en/\n- Repositório Oficial: https://invent.kde.org/multimedia/kdenlive\n- Bug Traker/ Issues: https://bugs.kde.org/buglist.cgi?product=kdenlive\n- Meta Coach: Farid Abdelnour  -->\n\n## Rocs (KDE)\n- Página de Oficial: https://apps.kde.org/pt-br/rocs/\n- Repositório Oficial: https://invent.kde.org/education/rocs\n- Linguagens: C++ / Framework de UI em QT\n- Meta Coach: Tomaz Canabrava\n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Projetos Sugeridos:   \n    - [Juice Shop](https://owasp.org/www-project-juice-shop/), \n    - [Amass](https://owasp.org/www-project-amass/), \n    - [ZAP](https://www.zaproxy.org/)\n- Meta-Coach: Vitor Falcão\n\n## SiGeD - Sistema de Gerenciamento de Demandas\n- Repositório Oficial: https://github.com/DITGO     \n- Repositório de documentação e ISSUES: https://github.com/DITGO/2021-2-SiGeD-Doc/issues\n- Frontend: React / Backend: Node\n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Frontend (Quasar / Vue.js) / Backend: DjangoREST\n- Meta-Coach: Renato Sampaio\n\n## Sistema de Recomendação de Contratos\n- Repositório Oficial (Somente ISSUES): https://gitlab.com/lappis-unb/projects/contratos-energia\n- Página de Demonstação do Sistema: http://139.144.169.103/ (usuário: usuario@unb.br, senha: unb)\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: Bruno Felix\n\n\n# Questionário de Seleção de Projetos (Turma Renato Sampaio)\n\n[Questionário de Proejtos 2023/1](https://docs.google.com/forms/d/e/1FAIpQLSdHrgMdA8t26XmdCVzb4X41qGqvaVBpyCEQbcIBE5XRoOJ5vQ/viewform)\n"
  },
  {
    "path": "Projetos_2023_2.md",
    "content": "# Projetos 2023/2 - Prof. Renato Sampaio\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2023.\n\n## Decidim / Brasil Participativo\n\nO Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona.\n\nEsforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira\n- Repositório: https://gitlab.com/lappis-unb/decidimbr  \n- Página Oficial: https://brasilparticipativo.presidencia.gov.br/  \n- Repositório do Upstream: [https://github.com/decidim/decidim](https://github.com/decidim/decidim\n- Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails\n- Meta Coach: Eduardo Nunes  \n\n## Rocs (KDE)\n- Página de Oficial: https://apps.kde.org/pt-br/rocs/\n- Repositório Oficial: https://invent.kde.org/education/rocs\n- Linguagens: C++ / Framework de UI em QT\n- Meta Coach: Tomaz Canabrava\n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Projetos Sugeridos:   \n    - [Juice Shop](https://owasp.org/www-project-juice-shop/), \n    - [Amass](https://owasp.org/www-project-amass/), \n    - [ZAP](https://www.zaproxy.org/)\n- Meta-Coach: Vitor Falcão\n\n## SiGeD - Sistema de Gerenciamento de Demandas\n- Repositório Oficial: https://github.com/DITGO     \n- Repositório de documentação e ISSUES: https://github.com/DITGO/2021-2-SiGeD-Doc/issues\n- Frontend: React / Backend: Node\n- Meta Coach: Bruno Vidal\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI  \n- Frontend (Quasar / Vue.js) / Backend: DjangoREST\n- Meta-Coach: Renato Sampaio\n\n## Sistema de Recomendação de Contratos\n- Repositório Oficial (Somente ISSUES): [https://gitlab.com/lappis-unb/projects/contratos-energia](https://gitlab.com/lappis-unb/projects/mec-energia)\n- Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb)\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: Bruno Felix\n\n## Debian\n- Debian: https://wiki.debian.org/Packaging\n- Meta-Coach: Sérgio Cipriano\n\n## ESO (External Secrets Operator) - Kubernetes\n- Página Oficial: https://external-secrets.io/latest/\n- Repositório: https://github.com/external-secrets/external-secrets\n- Linguagens: Go\n- Meta-Coach: Lucas Severo\n\n# Questionário de Seleção de Projetos\n\n[Questionário de Proejtos 2023/2]()\n"
  },
  {
    "path": "Projetos_2024_1.md",
    "content": "# Projetos 2024/1 - Prof. Renato Sampaio\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2024.\n\n## Decidim / Brasil Participativo\n\nO Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona.\n\nEsforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira\n- Repositório: https://gitlab.com/lappis-unb/decidimbr  \n- Página Oficial: https://brasilparticipativo.presidencia.gov.br/  \n- Repositório do Upstream: [https://github.com/decidim/decidim](https://github.com/decidim/decidim\n- Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails\n- Meta Coach: Eduardo Nunes  \n\n<!-- ## Rocs (KDE)\n- Página de Oficial: https://apps.kde.org/pt-br/rocs/\n- Repositório Oficial: https://invent.kde.org/education/rocs\n- Linguagens: C++ / Framework de UI em QT\n- Meta Coach: Tomaz Canabrava -->\n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Projetos Sugeridos:   \n    - [Juice Shop](https://owasp.org/www-project-juice-shop/), \n    - [Amass](https://owasp.org/www-project-amass/), \n    - [ZAP](https://www.zaproxy.org/)\n- Meta-Coach: Vitor Falcão\n\n<!-- ## SiGeD - Sistema de Gerenciamento de Demandas\n- Repositório Oficial: https://github.com/DITGO     \n- Repositório de documentação e ISSUES: https://github.com/DITGO/2021-2-SiGeD-Doc/issues\n- Frontend: React / Backend: Node\n- Meta Coach: Bruno Vidal -->\n  \n## Sistema de Gestão Energética (SIGE)\n- Página Oficial: http://sige.unb.br  \n- Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/SIGE  \n- Frontend (Quasar / Vue.js) / Backend: DjangoREST\n- Meta-Coach: Flávio Vieira\n\n## Sistema de Recomendação de Contratos\n- Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/mec-energia \n- Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb)\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: Bruno Felix\n\n## Debian\n- Debian: https://wiki.debian.org/Packaging\n- Meta-Coach: Sérgio Cipriano\n\n## ESO (External Secrets Operator) - Kubernetes\n- Página Oficial: https://external-secrets.io/latest/\n- Repositório: https://github.com/external-secrets/external-secrets\n- Linguagens: Go\n- Meta-Coach: Lucas Severo\n\n# Questionário de Seleção de Projetos\n\n[Questionário de Proejtos 2024/1]()\n"
  },
  {
    "path": "Projetos_2024_2.md",
    "content": "# Projetos 2024/2\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2024.\n\n## Decidim Awesome\n\nO Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona.\n\nO Decidim Awesome é um módulo que exapnde as funcionalidades do Decidim\n\nEsforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira\n- Repositório: https://github.com/decidim-ice/decidim-module-decidim_awesome       \n- Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails\n- Meta Coach: Eduardo Nunes  \n\n## Decidim GEO\n\nMódulo de Mapas para o Decidim\n\n- Repositório: https://github.com/octree-gva/decidim-module-geo   \n- Linguagens: Ruby/CSS/JavaScript\n- Meta Coach: Victor Gonçalves  \n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Projetos Sugeridos:   \n    - [Juice Shop](https://owasp.org/www-project-juice-shop/), \n    - [Amass](https://owasp.org/www-project-amass/), \n    - [ZAP](https://www.zaproxy.org/)\n- Meta-Coach: Rodolfo Cabral Neves\n\n## MEPA - Contratos - Sistema de Recomendação de Contratos\n- Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/mec-energia \n- Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb)\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: João Victor Correia\n\n## Debian\n- Debian: https://wiki.debian.org/Packaging\n- Meta-Coach: Sérgio Cipriano\n\n## ESO (External Secrets Operator) - Kubernetes\n- Página Oficial: https://external-secrets.io/latest/\n- Repositório: https://github.com/external-secrets/external-secrets\n- Linguagens: Go\n- Meta-Coach: Lucas Severo\n\n# Questionário de Seleção de Projetos\n\n[Questionário de Proejtos 2024/2](https://docs.google.com/forms/d/e/1FAIpQLSeBo3YLwzocOBfN-WEzNiUvBw9DZzh_6yEfaFrkc3lydmKL3Q/viewform?usp=sf_link)\n"
  },
  {
    "path": "Projetos_2025_1_Turma_Renato.md",
    "content": "# Projetos 2025/1\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2025.\n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Meta-Coach: Rodolfo Cabral Neves\n\n## MEPA - Medição de Energia em Plataforma Aberta\n- Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: João Victor Correia\n\n## Debian\n- Debian: https://wiki.debian.org/Packaging\n- Meta-Coach: João Nóbrega\n\n## Tainacan\n- Página Oficial: http://tainacan.org/\n- Repositório Oficial: https://github.com/tainacan/tainacan\n- Canal do Discourse: https://tainacan.discourse.group/\n- Meta-Coach: Mateus Luna\n\n## Empurrando Juntas\n- Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br\n- Repositório Oficial: https://gitlab.com/pencillabs/ej\n- Meta-Coach: Giovanni Giampauli\n\n# Questionário de Seleção de Projetos\n\n[Questionário de Proejtos 2025/1]()\n"
  },
  {
    "path": "Projetos_2025_2.md",
    "content": "# Projetos 2025/2\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2025.\n\n## Open Worldwide Application Security Project (OWASP)\n- Página Oficial: https://owasp.org/projects/\n- Meta-Coach: Rodolfo Cabral Neves\n\n## MEPA - Medição de Energia em Plataforma Aberta\n- Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/\n- Frontend (NextJS - React) / Backend: DjangoREST\n- Meta-Coach: João Victor Correia\n\n## Tainacan\n- Página Oficial: http://tainacan.org/\n- Repositório Oficial: https://github.com/tainacan/tainacan\n- Canal do Discourse: https://tainacan.discourse.group/\n- Meta-Coach: Mateus Luna\n\n## Empurrando Juntas\n- Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br\n- Repositório Oficial: https://gitlab.com/pencillabs/ej\n- Meta-Coach: Giovanni Giampauli\n\n\n## É Fake\n- Pagina oficial : https://think-ads.vercel.app/\n- Repositório : https://gitlab.com/lappis-unb/rag\n- Meta-coach - Leonardo Lago\n\n## GovHub\n- Página Oficial: https://govhub-br.github.io/gov-hubio/land/dist/index.html\n- Repositório: https://github.com/orgs/GovHub-br/repositories\n- Meta-coach: Joao edgwarth\n\n\n## Oppia\n- https://github.com/oppia/oppia\n- www.oppia.org\n- Sem meta-coach\n\n## Siyuan\n- https://b3log.org/siyuan/en/\n- https://github.com/siyuan-note/siyuan\n- Sem meta-coach\n\n## Querido Diário – Transparência e Acesso a Dados Públicos\n\n\n# Questionário de Seleção de Projetos\n\n[Questionário de Proejtos 2025/2](https://docs.google.com/forms/d/e/1FAIpQLSeGzyAPoGTLECox9NuDtvcsDCB7WW1vQyDbjjp1RlbC_MuWUg/viewform?usp=dialog)\n"
  },
  {
    "path": "Projetos_2026_1.md",
    "content": "# Projetos 2026/1\n\nA seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2026.\n\n\n## Tainacan\n- Página Oficial: http://tainacan.org/\n- Repositório Oficial: https://github.com/tainacan/tainacan\n- Canal do Discourse: https://tainacan.discourse.group/\n- Meta-Coach: Mateus Luna\n\n## Empurrando Juntas\n- Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br\n- Repositório Oficial: https://gitlab.com/pencillabs/ej\n- Meta-Coach: Giovanni Giampauli\n\n\n## É Fake\n- Pagina oficial : https://think-ads.vercel.app/\n- Repositório : https://gitlab.com/lappis-unb/rag\n- Meta-coach - Leonardo Lago\n\n## GovHub\n- Página Oficial: https://gov-hub.io/\n- Repositório: https://github.com/orgs/GovHub-br/repositories\n- Meta-coach: Luiza/Lucas\n\n\n[Questionário de Proejtos 2026/1](https://forms.gle/NJZQV35LagJ2FXFh7)\n\n\n# Seminários 2026/1\n\nOs seminários serão realizados em grupos de 5 a 6 pessoas. Cada grupo deverá escolher um tema da lista abaixo e apresentá-lo em sala de aula. Além da apresentação, o grupo deverá planejar a discussão do tema, com perguntas e respostas. O grupo deverá também atualizar a documentação de https://github.com/FGA-GCES/DevOps-Jr-Roadmap abrindo um pull request com as informações do tema escolhido. Deve estar descrito na apresentação o que cada membro do grupo contribuiu para o seminário. A avaliação será feita pelo professor e pelos outros grupos, e a nota será individualizada a partir da contribuição para o seminário. Os textos bases devem ser utilizados para a construçào do material, mas podem ser adicionadas novas referências. \n\n## Temas dos Seminários\n\n| Tema do Seminário | Conteúdo a ser Abordado | Texto Base |\n|------------------|------------------------|------------|\n| DevOps – RunTime | Operação de sistemas em produção; monitoramento, logging e observabilidade; gestão de incidentes; confiabilidade e performance; feedback contínuo do ambiente de execução para o desenvolvimento. | https://dl.acm.org/doi/pdf/10.1145/3359981 |\n| DevOps – People | Cultura DevOps; colaboração entre desenvolvimento e operações; equipes multifuncionais; comunicação, confiança e responsabilidade compartilhada; mudança organizacional. | https://dl.acm.org/doi/pdf/10.1145/3359981 |\n| DevOps – Delivery | Entrega contínua (CI/CD); automação de build, testes e deploy; pipelines de entrega; redução de lead time e risco de release; integração com práticas ágeis. | https://dl.acm.org/doi/pdf/10.1145/3359981 |\n| DevOps – Processo (2) | Processos DevOps. | https://dl.acm.org/doi/pdf/10.1145/3359981 |\n| DevOps – Ferramentas | Toolchain DevOps (versionamento, CI, CD, infraestrutura, monitoramento); integração de ferramentas ao longo do ciclo de vida; automação como pilar central. | https://dl.acm.org/doi/pdf/10.1145/3359981 |\n| DevOps – Estudo de Caso | Análise de implementação real de DevOps; benefícios (frequência de deploy, qualidade, colaboração); desafios organizacionais e técnicos; lições aprendidas. | — |\n| Chaos Engineering | Engenharia de resiliência; testes em produção; injeção de falhas; sistemas distribuídos; confiabilidade e tolerância a falhas. | https://www.youtube.com/watch?v=Q4nniyAarbs |\n| DevOps/SRE – SLO | Service Level Objectives (SLO), SLI e SLA; definição de metas de confiabilidade; error budget; métricas de desempenho. | https://sre.google/workbook/implementing-slos/ |\n| DevOps/SRE – Large System Design | Projeto de sistemas distribuídos em larga escala; trade-offs (consistência, disponibilidade, latência); simplificação de sistemas complexos; boas práticas de arquitetura. | https://sre.google/workbook/non-abstract-design/ |\n| DevOps/SRE – Release Canário | Estratégias de deploy; canary releases; redução de risco em produção; experimentação controlada; rollback e mitigação de falhas. | https://sre.google/workbook/canarying-releases/ |\n| DevOps/SRE – Monitoramento | Monitoramento de sistemas; métricas, logs e tracing; definição de alertas; observabilidade como base para operação, diagnóstico e melhoria contínua; correlação entre eventos e análise de incidentes. | https://sre.google/workbook/monitoring/ |\n| DevOps – Data Pipeline | Arquitetura de pipelines de dados; ingestão, processamento e armazenamento; confiabilidade em pipelines; tolerância a falhas; reprocessamento e consistência de dados; desafios em sistemas distribuídos de dados. | https://sre.google/sre-book/data-processing-pipelines/ |\n| DevOps/SRE – Integridade dos Dados | Garantia de integridade e consistência de dados; validação, checksums e auditoria; prevenção de corrupção de dados; estratégias de detecção e recuperação; impacto de falhas em larga escala. | https://sre.google/sre-book/data-integrity/ |\n| DevOps/SRE – Release Engineering | Engenharia de releases; automação de builds e deploys; versionamento e gestão de artefatos; reprodutibilidade; rollback; controle de mudanças em produção; papel do release engineering em organizações modernas. | https://sre.google/sre-book/release-engineering/ |\n| DevOps/SRE – Kubernetes CRI | Evolução dos runtimes de containers; Container Runtime Interface (CRI); separação entre orquestração e runtime; impacto da saída do Docker no Kubernetes; arquitetura moderna de execução de containers. | https://medium.com/@bytemedaily/docker-is-dead-kubernetes-cri-is-the-new-container-runtime-69901061c9af |\n| Dependências – Left-Pad | Riscos de dependências externas; fragilidade do ecossistema de pacotes; impacto de remoção de dependências; gestão de versões; necessidade de governança e controle de dependências. | https://en.wikipedia.org/wiki/Npm_left-pad_incident |\n| Dependências – Apache Struts (Equifax) | Vulnerabilidades em dependências; falhas de atualização de segurança; impacto de vulnerabilidades conhecidas; gestão de patches; consequências organizacionais (caso Equifax). | https://www.beyondtrust.com/pt/blog/entry/9-infosec-lessons-from-the-equifax-data-breach |\n| Dependências – Supply Chain Attack (SolarWinds) | Ataques à cadeia de suprimentos de software; comprometimento de builds e distribuição; impacto em larga escala; necessidade de segurança em pipelines; confiança em dependências externas. | https://www.fortinet.com/br/resources/cyberglossary/solarwinds-cyber-attack |\n| Segurança Sociotécnica – Rachel | Segurança como fenômeno sociotécnico; fatores humanos em falhas de sistemas; cultura organizacional e tomada de decisão; impacto de erros humanos em sistemas complexos; análise crítica de incidentes reais. | https://open.spotify.com/episode/6nPX7nFtocIK4Yqz28jQQ8 |"
  },
  {
    "path": "README-HUGO.md",
    "content": "# Hugo Site Setup for GCES Course\n\nThis repository now includes a Hugo-based website for the \"Gerência de Configuração e Evolução de Software\" course, automatically deployed to GitHub Pages.\n\n## 🚀 Live Site\n\nThe site is automatically deployed to: `https://fga-gces.github.io/A-disciplina/`\n\n## 📁 Site Structure\n\n```\n├── content/\n│   ├── _index.md           # Homepage\n│   ├── cronograma/         # Schedule section\n│   ├── slides/             # Slides section\n│   └── projetos/           # Projects section\n├── themes/PaperMod/        # Hugo theme (submodule)\n├── .github/workflows/\n│   └── hugo.yml            # GitHub Actions workflow\n└── hugo.toml               # Hugo configuration\n```\n\n## 🛠 Local Development\n\n### Option 1: Docker (Recommended)\n\n#### Prerequisites\n- Docker\n- Docker Compose (optional but recommended)\n\n#### Quick Start with Docker Compose\n1. Clone the repository:\n   ```bash\n   git clone --recursive https://github.com/fga-gces/A-disciplina.git\n   cd A-disciplina\n   ```\n\n2. Start the development server:\n   ```bash\n   docker-compose up hugo\n   ```\n\n3. Open your browser to `http://localhost:1313/A-disciplina/`\n\n#### Docker Commands\n```bash\n# Build the Docker image\ndocker build -t gces-hugo .\n\n# Run development server\ndocker run -p 1313:1313 -v $(pwd):/src gces-hugo\n\n# Build production site\ndocker-compose --profile build up hugo-build\n```\n\n### Option 2: Native Hugo\n\n#### Prerequisites\n- Hugo Extended v0.146.0 or higher\n- Git\n\n#### Setup\n1. Clone the repository with submodules:\n   ```bash\n   git clone --recursive https://github.com/fga-gces/A-disciplina.git\n   ```\n\n2. If you already cloned without submodules:\n   ```bash\n   git submodule update --init --recursive\n   ```\n\n3. Run the development server:\n   ```bash\n   hugo server --buildDrafts\n   ```\n\n4. Open your browser to `http://localhost:1313/A-disciplina/`\n\n### Adding Content\n\n#### New Page\n```bash\nhugo new content/section-name/page-name.md\n```\n\n#### New Section\n1. Create directory: `content/new-section/`\n2. Add `_index.md` file with frontmatter\n3. Update navigation in `hugo.toml` if needed\n\n## 🔧 Configuration\n\n### Site Settings\nEdit `hugo.toml` to modify:\n- Site title and description\n- Navigation menu\n- Theme parameters\n- Social links\n\n### Theme Customization\nThe site uses the PaperMod theme. Customize by:\n- Modifying `hugo.toml` parameters\n- Adding custom CSS in `assets/css/`\n- Overriding layouts in `layouts/`\n\n## 🚀 Deployment\n\n### Automatic Deployment\nThe site automatically deploys to GitHub Pages when you:\n1. Push changes to the `main` or `master` branch\n2. The GitHub Actions workflow builds and deploys the site\n\n### Manual Deployment\nTo deploy manually:\n```bash\nhugo --gc --minify\n```\n\n## 📋 GitHub Pages Setup\n\n1. Go to repository Settings → Pages\n2. Set Source to \"GitHub Actions\"\n3. The workflow will handle the rest automatically\n\n## 🎨 Theme Features\n\nThe PaperMod theme includes:\n- Responsive design\n- Dark/light mode toggle\n- Search functionality\n- Social media links\n- Reading time estimates\n- Table of contents\n- Code syntax highlighting\n\n## 📝 Content Guidelines\n\n### Frontmatter\nAll content files should include:\n```yaml\n---\ntitle: \"Page Title\"\ndate: 2025-08-14\ndraft: false\n---\n```\n\n### File Organization\n- Use descriptive filenames\n- Organize content in logical sections\n- Keep related files together\n\n## 🔗 Navigation\n\nThe main navigation is configured in `hugo.toml`:\n- **Início** - Homepage\n- **Cronograma** - Class schedule\n- **Slides** - Lecture slides\n- **Projetos** - Course projects\n\n## 📚 Course Content Integration\n\nThe site integrates existing course materials:\n- Course schedule from README.md\n- Slides from the `/slides` directory\n- Project information from various markdown files\n- Teaching plans and evaluation criteria\n\n## 🐳 Docker Benefits\n\nUsing Docker for development provides several advantages:\n\n- **Consistent Environment**: Same Hugo version across all development machines\n- **No Local Dependencies**: No need to install Hugo locally\n- **Easy Setup**: One command to start development\n- **Isolation**: Doesn't interfere with other projects\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n\n### Docker Development Workflow\n\n1. **Start Development**:\n   ```bash\n   docker-compose up hugo\n   ```\n\n2. **Make Changes**: Edit content files - changes are automatically reflected\n\n3. **Build for Production**:\n   ```bash\n   docker-compose --profile build up hugo-build\n   ```\n\n4. **Stop Development Server**:\n   ```bash\n   docker-compose down\n   ```\n\n## 🛡 Maintenance\n\n### Regular Tasks\n- Update Hugo version as needed (update Dockerfile)\n- Keep theme submodule updated\n- Review and update content regularly\n- Monitor GitHub Actions for deployment issues\n- Rebuild Docker image when Hugo version changes\n\n### Troubleshooting\n\n#### Docker Issues\n- **Port already in use**: \n  - Stop existing Hugo server: `pkill -f \"hugo server\"`\n  - Or use different port: Change `1313:1313` to `1314:1313` in docker-compose.yml\n  - Access at: `http://localhost:1314/A-disciplina/`\n- **Container won't start**: Check if port 1313 is already in use\n- **Theme not loading**: Ensure git submodules are initialized\n- **Permission issues**: \n  - Restart Docker Desktop\n  - Check file permissions in mounted volumes\n  - On Linux, try with `sudo`\n- **Build fails**: Check Docker logs with `docker-compose logs hugo`\n\n#### General Issues\n- Check Hugo version compatibility\n- Verify submodule initialization\n- Review GitHub Actions logs for deployment issues\n- Ensure proper frontmatter in content files\n\n## 📞 Support\n\nFor technical issues with the site:\n1. Check GitHub Actions workflow logs\n2. Verify Hugo configuration\n3. Test locally before pushing changes\n4. Review Hugo documentation: https://gohugo.io/\n\n---\n\n**Note**: This Hugo site complements the existing course repository and provides a user-friendly web interface for accessing course materials.\n"
  },
  {
    "path": "README.md",
    "content": "# Gerência de Configuração Evolução de Software\n\n## Sobre a disciplina\n\nEsta disciplina aborda práticas modernas de gerência de configuração de software, com foco em desenvolvimento colaborativo, integração contínua, DevOps e confiabilidade de sistemas.\n\nOs estudantes irão trabalhar em projetos reais, utilizando ferramentas e práticas amplamente adotadas na indústria, como Git, CI/CD, containers e automação de ambientes.\n\n##  Objetivos de Aprendizagem\n\nAo final da disciplina, o estudante será capaz de:\n\n- Gerenciar versões e mudanças em sistemas de software\n- Configurar pipelines de integração e entrega contínua\n- Trabalhar de forma colaborativa utilizando Git\n- Entender e aplicar práticas de DevOps e SRE\n- Gerenciar dependências e riscos em sistemas reais\n\n\n## 1 - Tópicos/Ementa\n- Identificação de configuração (itens e linha-base)\n- Controle de mudanças e versões\n- Integração e entrega contínua\n- Monitoramento do desenvolvimento de software\n- Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção)\n- Pacotes e dependência de software\n- Princípios e técnicas de manutenção de software\n- Sustentação de software\n\n## 2 - Plano de Aulas\npode atualizar essse plano de ensino para datas começando dia 18.08 e aulas segundas e quartas? # Gerência de Configuração Evolução de Software\n\n## 1 - Tópicos/Ementa\n- Identificação de configuração (itens e linha-base)\n- Controle de mudanças e versões\n- Integração e entrega contínua\n- Monitoramento do desenvolvimento de software\n- Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção)\n- Pacotes e dependência de software\n- Princípios e técnicas de manutenção de software\n- Sustentação de software\n\n## 2 - Plano de Aulas\n\no plano de aula atualizado, com o material apresentado, pode ser acessado em [https://docs.google.com/spreadsheets/d/14hsguuLPxNUtXiXs1SShGePUVlYoembjXXD7sM38J8E/edit?usp=sharing](https://docs.google.com/spreadsheets/d/14hsguuLPxNUtXiXs1SShGePUVlYoembjXXD7sM38J8E/edit?usp=sharing).\n\n\n## Plano de Aulas 2026\n\n| Data | Dia da Semana | Atividade |\n| :--------: | :--------: |:------|\n| 16/03/2026 | Segunda-feira | Apresentação da disciplina <br> Definição da dinâmica do curso |\n| 18/03/2026 | Quarta-feira | Aula Assíncrona |\n| 23/03/2026 | Segunda-feira | Introdução à Gerência de Configuração <br> - Problema da mudança em software <br> - Itens de configuração (CIs) <br> - Baselines <br> - Rastreabilidade <br> - Discussão: “o que acontece sem controle de versão?” |\n| 25/03/2026 | Quarta-feira | Apresentação dos projetos <br> Definição das equipes |\n| 30/03/2026 | Segunda-feira | Feriado |\n| 01/04/2026 | Quarta-feira | Git: commit, branch, merge, rebase <br> Fluxos: Git Flow, GitHub Flow, Trunk-based |\n| 06/04/2026 | Segunda-feira | Pull Requests e Code Review <br> Issues, milestones e project boards <br> Conventional Commits <br> Governança em OSS <br> **Atividade:** Documentar a governança de um projeto OSS |\n| 08/04/2026 | Quarta-feira | Conceito de CI <br> Pipeline: build → test → análise <br> Ferramentas: GitHub Actions, GitLab CI |\n| 13/04/2026 | Segunda-feira | Show me the code - Sprint 1 |\n| 15/04/2026 | Quarta-feira | Início Sprint 2 <br> Automação da build <br> Automação de ambiente |\n| 20/04/2026 | Segunda-feira | Acompanhamento da Sprint 2 |\n| 22/04/2026 | Quarta-feira | Problema: “funciona na minha máquina” <br> Docker <br> Kubernetes (visão geral) <br> **Atividade:** Subir aplicação com Docker e versionar ambiente |\n| 27/04/2026 | Segunda-feira | Show me the code - Sprint 2 |\n| 29/04/2026 | Quarta-feira | Início Sprint 3 |\n| 04/05/2026 | Segunda-feira | Kubernetes e Deploy <br> CD vs Deployment <br> Estratégias: Blue-Green, Canary <br> Infraestrutura como código (IaC) <br> **Atividade:** Discutir riscos de produção |\n| 06/05/2026 | Quarta-feira | Kubernetes e Deploy (continuação) <br> Estratégias de deploy e riscos |\n| 11/05/2026 | Segunda-feira | Show me the code - Sprint 3 <br> Apresentação do trabalho individual |\n| 13/05/2026 | Quarta-feira | Open Source e Aspectos Legais <br> Licenças: MIT, Apache, GPL <br> Governança OSS <br> Compliance <br> **Atividade:** Analisar riscos legais |\n| 18/05/2026 | Segunda-feira | Qualidade e Releases <br> SemVer <br> Gestão de releases <br> Change logs <br> **Atividade:** Criar release versionada |\n| 20/05/2026 | Quarta-feira | Acompanhamento do trabalho individual |\n| 25/05/2026 | Segunda-feira | Entrega do trabalho individual |\n| 27/05/2026 | Quarta-feira | Início Sprint 4 <br> Clean Code e SOLID |\n| 01/06/2026 | Segunda-feira | Seminário 01 |\n| 03/06/2026 | Quarta-feira | Seminário 02 |\n| 08/06/2026 | Segunda-feira | Show me the code - Sprint 4 |\n| 10/06/2026 | Quarta-feira | Início Sprint 5 <br> Seminário 03 |\n| 15/06/2026 | Segunda-feira | Seminário 04 |\n| 17/06/2026 | Quarta-feira | Seminário 05 |\n| 22/06/2026 | Segunda-feira | Feriado |\n| 24/06/2026 | Quarta-feira | Show me the code - Sprint 5 |\n| 29/06/2026 | Segunda-feira | Sprint de dívidas técnicas |\n| 01/07/2026 | Quarta-feira | Sprint de dívidas técnicas |\n| 06/07/2026 | Segunda-feira | Apresentação final dos projetos |\n| 08/07/2026 | Quarta-feira | Apresentação final dos projetos |\n| 13/07/2026 | Segunda-feira | Lançamento de notas |\n| 15/07/2026 | Quarta-feira | Revisão de notas |\n\n\n\n<!--\n| Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| **2025**   |              |   |\n| 18/08/2025 | Segunda-feira | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 20/08/2025 | Quarta-feira | Aula: Revisão de Git avançado |\n| 25/08/2025 | Segunda-feira | Desenvolvimento colaborativo |\n| 27/08/2025 | Quarta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 01/09/2025 | Segunda-feira | Definição das equipes <br> Início da configuração dos ambientes dos projetos |\n| 03/09/2025 | Quarta-feira | Acompanhamento de configuração dos projetos |\n| 08/09/2025 | Segunda-feira | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 10/09/2025 | Quarta-feira | Aula: Integração Contínua |\n| 15/09/2025 | Segunda-feira | Acompanhamento da Sprint 1 |\n| 17/09/2025 | Quarta-feira | Show me the code - Sprint 1 |\n| 22/09/2025 | Segunda-feira | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente |\n| 24/09/2025 | Quarta-feira | Acompanhamento da Sprint 2 |\n| 29/09/2025 | Segunda-feira | Aula: DevOps |\n| 01/10/2025 | Quarta-feira | Show me the code - Sprint 2 |\n| 06/10/2025 | Segunda-feira | Início Sprint 3 |\n| 08/10/2025 | Quarta-feira | Aula: Isolamento de Ambiente |\n| 13/10/2025 | Segunda-feira | Acompanhamento da Sprint 3 |\n| 15/10/2025 | Quarta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 20/10/2025 | Segunda-feira | Início Sprint 4 <br> Aula: Orquestradores / Kubernetes |\n| 22/10/2025 | Quarta-feira | Aula prática de Kubernetes |\n| 27/10/2025 | Segunda-feira | Acompanhamento da Sprint 4 |\n| 29/10/2025 | Quarta-feira | Show me the code - Sprint 4 |\n| 03/11/2025 | Segunda-feira | Início da Sprint 5 <br> Aula: Clean Code / SOLID |\n| 05/11/2025 | Quarta-feira | Acompanhamento da Sprint 5 |\n| 10/11/2025 | Segunda-feira | Aula: Licenças de software livre <br> Aula: Copyright, patentes e aspectos legais |\n| 12/11/2025 | Quarta-feira | Show me the code - Sprint 5 |\n| 17/11/2025 | Segunda-feira | Início da Sprint 6 - Dívidas Técnicas dos Projetos |\n| 19/11/2025 | Quarta-feira | Palestra 1 |\n| 24/11/2025 | Segunda-feira | Palestra 2 |\n| 26/11/2025 | Quarta-feira | Dívidas Técnicas dos Projetos |\n| 01/12/2025 | Segunda-feira | Apresentação final dos projetos |\n| 03/12/2025 | Quarta-feira | Revisão de Notas | -->\n\n\n\n<!-- | 19/03/2024 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 21/03/2024 | Quinta-feira | Aula: Revisão de Git avançado |\n| 26/03/2024 | Terça-feira  | Desenvolvimento colaborativo  |\n| 28/03/2024 | Quinta-feira | Aula: Integração Contínua |\n| 02/04/2024 | Terça-feira  | Aula: Automação da Build <br> Automação da Configuração do Ambiente |\n| 04/04/2024 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 09/04/2024 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 11/04/2024 | Quinta-feira | Acompanhamento de configuração dos projetos |\n| 15/04/2024 |  | Interrupção - Greve |\n| 27/06/2024 | Quinta-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 02/07/2024 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 04/07/2024 | Quinta-feira | Show me the code - Sprint 1 |\n| 09/07/2024 | Terça-feira  | Início da Sprint 2 <br> |\n| 11/07/2024 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 16/07/2024 | Terça-feira  | Aula: DevOps |\n| 18/07/2024 | Quinta-feira | Show me the code - Sprint 2 |\n| 23/07/2024 | Terça-feira  | Início Sprint 3 |\n| 25/07/2024 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 30/07/2024 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 01/08/2024 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 06/08/2024 | Terça-feira  | Início Sprint 4 |\n| 08/08/2024 | Quinta-feira | Aula: Licenças de software livre <br> Aula: Aula: Copyright, patentes e aspectos legais |\n| 13/08/2024 | Terça-feira  | Palestra 1 |\n| 15/08/2024 | Quinta-feira | Palestra 2  |\n| 20/08/2024 | Terça-feira  | Show me the code - Sprint 4 <br> Início da Sprint 5 |\n| 22/08/2024 | Quinta-feira | Aula: Clean Code / SOLID |\n| 27/08/2024 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 29/08/2024 | Quinta-feira | Show me the code - Sprint 5 |\n| 03/09/2024 | Terça-feira  | Dívidas Técnicas dos Projetos |\n| 05/09/2024 | Quinta-feira | Dívidas Técnicas dos Projetos |\n| 10/09/2024 | Terça-feira  | Apresentação final dos projetos |\n| 12/09/2024 | Quinta-feira | Revisão de Notas | -->\n\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 29/08/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 31/08/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 05/09/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 07/09/2023 | Quinta-feira | Feriado |\n| 12/09/2023 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 14/09/2023 | Quinta-feira | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 19/09/2023 | Terça-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 21/09/2023 | Quinta-feira | Aula: Integração Contínua\n| 26/09/2023 | Terça-feira  | Semana Universitária |\n| 28/09/2023 | Quinta-feira | Semana Universitária |\n| 03/10/2023 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 05/10/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 10/10/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 12/10/2023 | Quinta-feira | Feriado |\n| 17/10/2023 | Terça-feira  | Aula: DevOps |\n| 19/10/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 24/10/2023 | Terça-feira  | Início Sprint 3 |\n| 26/10/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 31/10/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 02/11/2023 | Quinta-feira | Feriado |\n| 07/11/2023 | Terça-feira  | Show me the code - Sprint 3 <br> Início da Sprint 4 |\n| 09/11/2023 | Quinta-feira | Aula: Licenças de software livre |\n| 14/11/2023 | Terça-feira  | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/11/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 21/11/2023 | Terça-feira  | Início da Sprint 5 <br> Aula: Clean Code / SOLID |\n| 23/11/2023 | Quinta-feira | Acompanhamento da Sprint 5 |\n| 28/11/2023 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 30/11/2023 | Quinta-feira | Show me the code - Sprint 5 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 05/12/2023 | Terça-feira  | Palestra 1 |\n| 07/12/2023 | Quinta-feira | Palestra 2  |\n| 12/12/2023 | Terça-feira  | Acompanhamento do Trabalho Individual |\n| 14/12/2023 | Quinta-feira | Acompanhamento do Trabalho Individual |\n| 19/12/2023 | Terça-feira  | Apresentação final dos projetos | -->\n\n\n\n<!--| Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 28/03/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 30/03/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 04/04/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 06/04/2023 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 11/04/2023 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 13/04/2023 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 18/04/2023 | Terça-feira  | Início da Sprint 1 |\n| 20/04/2023 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 25/04/2023 | Terça-feira  | Aula: Integração Contínua |\n| 27/04/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 02/05/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 04/05/2023 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 07/05/2023 | Terça-feira  | Aula: DevOps |\n| 09/05/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 11/05/2023 | Terça-feira  | Início Sprint 3 |\n| 16/05/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 18/05/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 23/05/2023 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 25/05/2023 | Terça-feira  | Aula: Licenças de software livre |\n| 30/05/2023 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 01/06/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 06/06/2023 | Quinta-feira | **Entrega do Trabalho Individual (07/06/2023)** |\n| 08/06/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 13/06/2023 | Quinta-feira | Aula: SOLID |\n| 15/06/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 18/06/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 20/06/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 22/06/2023 | Quinta-feira | Palestra 1 |\n| 27/06/2023 | Terça-feira  | Palestra 2 |\n| 29/06/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 04/07/2023 | Terça-feira  | Início da Sprint 6 <br> |\n| 06/07/2023 | Quinta-feira | Acompanhamento da Sprint 6 |\n| 11/07/2023 | Terça-feira  | Acompanhamento da Sprint 6 |\n| 13/07/2023 | Quinta-feira | Show me the code - Sprint 6 |\n| 18/07/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 20/07/2023 | Quinta-feira | Apresentação final dos projetos |  -->\n\n\n<!-- 2022-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 25/10/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 27/10/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 1/11/2022 | Terça-feira  | Desenvolvimento colaborativo | \n| 3/11/2022 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 8/11/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 10/11/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 15/11/2022 | Terça-feira  | Início da Sprint 1 |\n| 17/11/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 22/11/2022 | Terça-feira  | Aula: Integração Contínua |\n| 24/11/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 29/11/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 1/12/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 6/12/2022 | Terça-feira  | Aula: DevOps |\n| 8/12/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 13/12/2022 | Terça-feira  | Início Sprint 3 |\n| 15/12/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 20/12/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 22/12/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 27/12/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 29/12/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 3/1/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 5/1/2023 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 10/1/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 12/1/2023 | Quinta-feira | Aula: SOLID |\n| 17/1/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 19/1/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 24/1/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 26/1/2023 | Quinta-feira | Palestra 1 |\n| 31/1/2023 | Terça-feira  | Palestra 2 |\n| 2/2/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 7/2/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 9/2/2023 | Quinta-feira | Apresentação final dos projetos | -->\n\n\n<!-- 2022-1 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 07/06/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 09/06/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 14/06/2022 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes | \n| 16/06/2022 | Quinta-feira | Feriado |  \n| 21/06/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 23/06/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 28/06/2022 | Terça-feira  | Início da Sprint 1 |\n| 30/06/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 05/07/2022 | Terça-feira  | Aula: Integração Contínua |\n| 07/07/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 12/07/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 14/07/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 19/07/2022 | Terça-feira  | Aula: DevOps |\n| 21/07/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 26/07/2022 | Terça-feira  | Início Sprint 3 |\n| 28/07/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 02/08/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 04/08/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 09/08/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 11/08/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/08/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 18/08/2022 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 23/08/2022 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 25/08/2022 | Quinta-feira | Aula: SOLID |\n| 30/08/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 01/09/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 06/09/2022 | Terça-feira  | Início da Sprint 5 <br> |\n| 08/09/2022 | Quinta-feira | Palestra 1 |\n| 13/09/2022 | Terça-feira  | Palestra 2 |\n| 15/09/2022 | Quinta-feira | Show me the code - Sprint 5 |\n| 20/09/2022 | Terça-feira  | Solução de Dívidas Técnicas |\n| 22/09/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- 2021-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 18/01/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Aula: Revisão de Git avançado|\n| 20/01/2022 | Quinta-feira | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 25/01/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 27/01/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 01/02/2022 | Terça-feira  | Início Sprint 1 |\n| 03/02/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |\n| 08/02/2022 | Terça-feira  | Aula: Integração Contínua |\n| 10/02/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 15/02/2022 | Terça-feira  | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 17/02/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 22/02/2022 | Terça-feira  | Aula: DevOps |\n| 24/02/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 01/03/2022 | Terça-feira  | Início Sprint 3 <br> *Feriado* |\n| 03/03/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 08/03/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 10/03/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 15/03/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 17/03/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 22/03/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 24/03/2022 | Quinta-feira | **Entrega do Trabalho Individual (27/03/2022)** |\n| 29/03/2022 | Terça-feira  | Início Sprint 4 <br> Aula: Clean Code |\n| 31/03/2022 | Quinta-feira | Aula: SOLID |\n| 05/04/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 07/04/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 12/04/2022 | Terça-feira  | Início Sprint 5 <br> |\n| 14/04/2022 | Quinta-feira | Palestra 1 |\n| 19/04/2022 | Terça-feira  | Palestra 2 |\n| 21/04/2022 | Quinta-feira | *Feriado*\n| 26/04/2022 | Terça-feira  | Show me the code - Sprint 5 |\n| 28/04/2022 | Quinta-feira | Sprint de Dívidas Técnicas |\n| 03/05/2022 | Terça-feira  | Sprint de Dívidas Técnicas |\n| 05/05/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- **2021** -->\n\n<!-- | 20/07/2021 | Apresentação da disciplina <br> Definição da dinâmica do curso  |\n| 22/07/2021 | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 27/07/2021 | Definição das equipes <br> Iniciar a configuração dos ambientes dos rojetos |\n| 29/07/2021 | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 03/08/2021 | Início Sprint 1 |\n| 05/08/2021 | Aula: Controle de versão e desenvolvimento colaborativo |\n| 10/08/2021 | Aula: Integração Contínua |\n| 12/08/2021 | Show me the code - Sprint 1 |\n| 17/08/2021 | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 19/08/2021 | Acompanhamento da Sprint 2 |\n| 24/08/2021 | Aula: DevOps |\n| 26/08/2021 | Show me the code - Sprint 2 |\n| 31/08/2021 | Início Sprint 3 <br> Aula: Isolamento de Ambiente |\n| 02/09/2021 | Aula: Orquestradores / Kubernetes  |\n| 07/09/2021 | *Feriado* |\n| 09/09/2021 | Show me the code - Sprint 3 |\n| 14/09/2021 | Início Sprint 4 <br> Aula: Clean Code |\n| 16/09/2021 | Aula: SOLID |\n| 21/09/2021 | Acompanhamento da Sprint 4 |\n| 23/09/2021 | Show me the code - Sprint 4 |\n| 28/09/2021 | Início Sprint 5 <br> Aula: Licenças de software livre |\n| 30/09/2021 | Aula: Aula: Copyright, patentes e aspectos legais |\n| 05/10/2021 | Acompanhamento da Sprint 5 |\n| 07/10/2021 | Show me the code - Sprint 5 |\n| 12/10/2021 | Início Sprint 6 <br> *Feriado* |\n| 14/10/2021 | Palestra 1 |\n| 19/10/2021 | Palestra 2 |\n| 21/10/2021 | Show me the code - Sprint 6 |\n| 26/10/2021 | Sprint de Dívidas Técnicas |\n| 28/10/2021 | Sprint de Dívidas Técnicas |\n| 02/11/2021 | *Feriado* |\n| 04/11/2021 | Apresentação final dos projetos | -->\n\n\n## Material de Semestres anteriores\n\n[Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação)\n\n## Lista de Projetos 2026/1\n\n[Acesse a lista de Projetos de 2026/1](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2026_1.md)\n\n<!-- [Acesse a lista de Projetos de 2021/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2021_2.md)-->\n\n<!-- [Acesse a lista de Projetos de 2022/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2022_2_Turma_T01.md) -->\n\n\n<!-- | 19/03/2024 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 21/03/2024 | Quinta-feira | Aula: Revisão de Git avançado |\n| 26/03/2024 | Terça-feira  | Desenvolvimento colaborativo  |\n| 28/03/2024 | Quinta-feira | Aula: Integração Contínua |\n| 02/04/2024 | Terça-feira  | Aula: Automação da Build <br> Automação da Configuração do Ambiente |\n| 04/04/2024 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 09/04/2024 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 11/04/2024 | Quinta-feira | Acompanhamento de configuração dos projetos |\n| 15/04/2024 |  | Interrupção - Greve |\n| 27/06/2024 | Quinta-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 02/07/2024 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 04/07/2024 | Quinta-feira | Show me the code - Sprint 1 |\n| 09/07/2024 | Terça-feira  | Início da Sprint 2 <br> |\n| 11/07/2024 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 16/07/2024 | Terça-feira  | Aula: DevOps |\n| 18/07/2024 | Quinta-feira | Show me the code - Sprint 2 |\n| 23/07/2024 | Terça-feira  | Início Sprint 3 |\n| 25/07/2024 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 30/07/2024 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 01/08/2024 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 06/08/2024 | Terça-feira  | Início Sprint 4 |\n| 08/08/2024 | Quinta-feira | Aula: Licenças de software livre <br> Aula: Aula: Copyright, patentes e aspectos legais |\n| 13/08/2024 | Terça-feira  | Palestra 1 |\n| 15/08/2024 | Quinta-feira | Palestra 2  |\n| 20/08/2024 | Terça-feira  | Show me the code - Sprint 4 <br> Início da Sprint 5 |\n| 22/08/2024 | Quinta-feira | Aula: Clean Code / SOLID |\n| 27/08/2024 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 29/08/2024 | Quinta-feira | Show me the code - Sprint 5 |\n| 03/09/2024 | Terça-feira  | Dívidas Técnicas dos Projetos |\n| 05/09/2024 | Quinta-feira | Dívidas Técnicas dos Projetos |\n| 10/09/2024 | Terça-feira  | Apresentação final dos projetos |\n| 12/09/2024 | Quinta-feira | Revisão de Notas | -->\n\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 29/08/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 31/08/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 05/09/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 07/09/2023 | Quinta-feira | Feriado |\n| 12/09/2023 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 14/09/2023 | Quinta-feira | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 19/09/2023 | Terça-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 21/09/2023 | Quinta-feira | Aula: Integração Contínua\n| 26/09/2023 | Terça-feira  | Semana Universitária |\n| 28/09/2023 | Quinta-feira | Semana Universitária |\n| 03/10/2023 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 05/10/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 10/10/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 12/10/2023 | Quinta-feira | Feriado |\n| 17/10/2023 | Terça-feira  | Aula: DevOps |\n| 19/10/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 24/10/2023 | Terça-feira  | Início Sprint 3 |\n| 26/10/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 31/10/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 02/11/2023 | Quinta-feira | Feriado |\n| 07/11/2023 | Terça-feira  | Show me the code - Sprint 3 <br> Início da Sprint 4 |\n| 09/11/2023 | Quinta-feira | Aula: Licenças de software livre |\n| 14/11/2023 | Terça-feira  | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/11/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 21/11/2023 | Terça-feira  | Início da Sprint 5 <br> Aula: Clean Code / SOLID |\n| 23/11/2023 | Quinta-feira | Acompanhamento da Sprint 5 |\n| 28/11/2023 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 30/11/2023 | Quinta-feira | Show me the code - Sprint 5 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 05/12/2023 | Terça-feira  | Palestra 1 |\n| 07/12/2023 | Quinta-feira | Palestra 2  |\n| 12/12/2023 | Terça-feira  | Acompanhamento do Trabalho Individual |\n| 14/12/2023 | Quinta-feira | Acompanhamento do Trabalho Individual |\n| 19/12/2023 | Terça-feira  | Apresentação final dos projetos | -->\n\n\n\n<!--| Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 28/03/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 30/03/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 04/04/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 06/04/2023 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 11/04/2023 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 13/04/2023 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 18/04/2023 | Terça-feira  | Início da Sprint 1 |\n| 20/04/2023 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 25/04/2023 | Terça-feira  | Aula: Integração Contínua |\n| 27/04/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 02/05/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 04/05/2023 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 07/05/2023 | Terça-feira  | Aula: DevOps |\n| 09/05/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 11/05/2023 | Terça-feira  | Início Sprint 3 |\n| 16/05/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 18/05/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 23/05/2023 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 25/05/2023 | Terça-feira  | Aula: Licenças de software livre |\n| 30/05/2023 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 01/06/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 06/06/2023 | Quinta-feira | **Entrega do Trabalho Individual (07/06/2023)** |\n| 08/06/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 13/06/2023 | Quinta-feira | Aula: SOLID |\n| 15/06/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 18/06/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 20/06/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 22/06/2023 | Quinta-feira | Palestra 1 |\n| 27/06/2023 | Terça-feira  | Palestra 2 |\n| 29/06/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 04/07/2023 | Terça-feira  | Início da Sprint 6 <br> |\n| 06/07/2023 | Quinta-feira | Acompanhamento da Sprint 6 |\n| 11/07/2023 | Terça-feira  | Acompanhamento da Sprint 6 |\n| 13/07/2023 | Quinta-feira | Show me the code - Sprint 6 |\n| 18/07/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 20/07/2023 | Quinta-feira | Apresentação final dos projetos |  -->\n\n\n<!-- 2022-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 25/10/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 27/10/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 1/11/2022 | Terça-feira  | Desenvolvimento colaborativo | \n| 3/11/2022 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 8/11/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 10/11/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 15/11/2022 | Terça-feira  | Início da Sprint 1 |\n| 17/11/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 22/11/2022 | Terça-feira  | Aula: Integração Contínua |\n| 24/11/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 29/11/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 1/12/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 6/12/2022 | Terça-feira  | Aula: DevOps |\n| 8/12/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 13/12/2022 | Terça-feira  | Início Sprint 3 |\n| 15/12/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 20/12/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 22/12/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 27/12/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 29/12/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 3/1/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 5/1/2023 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 10/1/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 12/1/2023 | Quinta-feira | Aula: SOLID |\n| 17/1/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 19/1/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 24/1/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 26/1/2023 | Quinta-feira | Palestra 1 |\n| 31/1/2023 | Terça-feira  | Palestra 2 |\n| 2/2/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 7/2/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 9/2/2023 | Quinta-feira | Apresentação final dos projetos | -->\n\n\n<!-- 2022-1 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 07/06/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 09/06/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 14/06/2022 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes | \n| 16/06/2022 | Quinta-feira | Feriado |  \n| 21/06/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 23/06/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 28/06/2022 | Terça-feira  | Início da Sprint 1 |\n| 30/06/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 05/07/2022 | Terça-feira  | Aula: Integração Contínua |\n| 07/07/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 12/07/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 14/07/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 19/07/2022 | Terça-feira  | Aula: DevOps |\n| 21/07/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 26/07/2022 | Terça-feira  | Início Sprint 3 |\n| 28/07/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 02/08/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 04/08/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 09/08/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 11/08/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/08/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 18/08/2022 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 23/08/2022 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 25/08/2022 | Quinta-feira | Aula: SOLID |\n| 30/08/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 01/09/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 06/09/2022 | Terça-feira  | Início da Sprint 5 <br> |\n| 08/09/2022 | Quinta-feira | Palestra 1 |\n| 13/09/2022 | Terça-feira  | Palestra 2 |\n| 15/09/2022 | Quinta-feira | Show me the code - Sprint 5 |\n| 20/09/2022 | Terça-feira  | Solução de Dívidas Técnicas |\n| 22/09/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- 2021-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 18/01/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Aula: Revisão de Git avançado|\n| 20/01/2022 | Quinta-feira | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 25/01/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 27/01/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 01/02/2022 | Terça-feira  | Início Sprint 1 |\n| 03/02/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |\n| 08/02/2022 | Terça-feira  | Aula: Integração Contínua |\n| 10/02/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 15/02/2022 | Terça-feira  | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 17/02/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 22/02/2022 | Terça-feira  | Aula: DevOps |\n| 24/02/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 01/03/2022 | Terça-feira  | Início Sprint 3 <br> *Feriado* |\n| 03/03/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 08/03/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 10/03/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 15/03/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 17/03/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 22/03/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 24/03/2022 | Quinta-feira | **Entrega do Trabalho Individual (27/03/2022)** |\n| 29/03/2022 | Terça-feira  | Início Sprint 4 <br> Aula: Clean Code |\n| 31/03/2022 | Quinta-feira | Aula: SOLID |\n| 05/04/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 07/04/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 12/04/2022 | Terça-feira  | Início Sprint 5 <br> |\n| 14/04/2022 | Quinta-feira | Palestra 1 |\n| 19/04/2022 | Terça-feira  | Palestra 2 |\n| 21/04/2022 | Quinta-feira | *Feriado*\n| 26/04/2022 | Terça-feira  | Show me the code - Sprint 5 |\n| 28/04/2022 | Quinta-feira | Sprint de Dívidas Técnicas |\n| 03/05/2022 | Terça-feira  | Sprint de Dívidas Técnicas |\n| 05/05/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- **2021** -->\n\n<!-- | 20/07/2021 | Apresentação da disciplina <br> Definição da dinâmica do curso  |\n| 22/07/2021 | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 27/07/2021 | Definição das equipes <br> Iniciar a configuração dos ambientes dos rojetos |\n| 29/07/2021 | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 03/08/2021 | Início Sprint 1 |\n| 05/08/2021 | Aula: Controle de versão e desenvolvimento colaborativo |\n| 10/08/2021 | Aula: Integração Contínua |\n| 12/08/2021 | Show me the code - Sprint 1 |\n| 17/08/2021 | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 19/08/2021 | Acompanhamento da Sprint 2 |\n| 24/08/2021 | Aula: DevOps |\n| 26/08/2021 | Show me the code - Sprint 2 |\n| 31/08/2021 | Início Sprint 3 <br> Aula: Isolamento de Ambiente |\n| 02/09/2021 | Aula: Orquestradores / Kubernetes  |\n| 07/09/2021 | *Feriado* |\n| 09/09/2021 | Show me the code - Sprint 3 |\n| 14/09/2021 | Início Sprint 4 <br> Aula: Clean Code |\n| 16/09/2021 | Aula: SOLID |\n| 21/09/2021 | Acompanhamento da Sprint 4 |\n| 23/09/2021 | Show me the code - Sprint 4 |\n| 28/09/2021 | Início Sprint 5 <br> Aula: Licenças de software livre |\n| 30/09/2021 | Aula: Aula: Copyright, patentes e aspectos legais |\n| 05/10/2021 | Acompanhamento da Sprint 5 |\n| 07/10/2021 | Show me the code - Sprint 5 |\n| 12/10/2021 | Início Sprint 6 <br> *Feriado* |\n| 14/10/2021 | Palestra 1 |\n| 19/10/2021 | Palestra 2 |\n| 21/10/2021 | Show me the code - Sprint 6 |\n| 26/10/2021 | Sprint de Dívidas Técnicas |\n| 28/10/2021 | Sprint de Dívidas Técnicas |\n| 02/11/2021 | *Feriado* |\n| 04/11/2021 | Apresentação final dos projetos | -->\n\n## Critérios de Avaliação\n\n|  Nota de Grupo  (nota relacionada a participação pessoal)| Peso total 30%|\n|  ---  | :---: |\n|  Entregas (commits e funcionalidades) | 15% |\n|  Seminário  | 10% |\n|  Apresentação final | 5% |  \n\n\n|  Nota Individual    | Peso total 70% |\n|  ---  | :---: |\n|  Trabalhos Individuais*  | 30% |\n|  Apresentações individuais (Seminário) | 10% |\n|  Contribuições individuais | 30% |\nA nota final será a soma da nota individual com a nota de grupo, nas proporções indicadas acima.\n* Obs: A entrega do Trabalho Individual é obrigatória para a aprovação do aluno.\n\n## Material de Semestres anteriores\n\n[Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação)\n\n\n\n<!-- [Acesse a lista de Projetos de 2021/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2021_2.md)-->\n\n<!-- [Acesse a lista de Projetos de 2022/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2022_2_Turma_T01.md) -->\n"
  },
  {
    "path": "Resultados dos grupos 2021_2.md",
    "content": "# Resultados dos grupos de 2021-2\n\n## SIGE\n\n|   |   |\n|---|---|\n| Video         | https://youtu.be/Mjl6hFUyTrk |\n| Repositório   | https://gitlab.com/sige-2021-2  |\n| Resultados    | https://gitlab.com/sige-2021-2/disciplina/-/blob/main/docs/sprint/resultados.md   |\n\n## Debian image-finder\n\n|   |   |\n|---|---|\n| Video         | https://youtu.be/FyomeLKnQr0 |\n| Repositório   | https://salsa.debian.org/cloud-team/image-finder/ |\n| Wiki    | https://salsa.debian.org/cloud-team/image-finder/-/wikis/Sprints-GCES-2021-2 |\n\n\n## Kubernetes \n\n|   |   |\n|---|---|\n| Video         | https://www.youtube.com/watch?v=NX8DgUQNA7M |\n| Repositório   | https://github.com/GCES-Kubernetes-2021-2/kubernetes-docs |\n| Wiki    | https://gces-kubernetes-2021-2.github.io/kubernetes-docs/ |\n\n\n## Jandig\n\n|   |   |\n|---|---|\n| Video         | https://www.youtube.com/watch?v=vT-LzO8ai7U |\n| Repositório   | https://github.com/FGA-GCES/Jandig |\n| Wiki    | https://github.com/FGA-GCES/Jandig/wiki |\n\n\n## Kate\n\n|   |   |\n|---|---|\n| Video         | https://youtu.be/wq7EJsDqo90 |\n| Wiki    | https://github.com/estevaoreis25/GCES-2021.2-KTextEditor-Kate-KDE-/wiki |\n\n## Houdini\n\n|   |   |\n|---|---|\n| Video         | https://youtu.be/nGIqaqs3cvg |\n| Repositório   | https://github.com/FGA-GCES/houdini |\n| Wiki    | https://ithaloazevedo.github.io/houdini-wiki/#/README |\n\n\n## Rasa\n|   |   |\n|---|---|\n| Video         | https://youtu.be/BPahRO5wr4A |\n| Repositório   | https://github.com/FGA-GCES/rasa/issues |\n| Wiki    | https://github.com/FGA-GCES/rasa/wiki/Resumo-2021-2 |\n"
  },
  {
    "path": "archetypes/default.md",
    "content": "+++\ntitle = '{{ replace .File.ContentBaseName \"-\" \" \" | title }}'\ndate = {{ .Date }}\ndraft = true\n+++\n"
  },
  {
    "path": "cheklists.md",
    "content": "# ✅ Checklist do projeto de Gerência de Configuração Evolução de Software \n\n### 📦 Gerência e Controle de Versão\n- [ ] Repositório público no GitHub/GitLab (com histórico limpo e organizado)\n- [ ] Uso de `git-flow` ou similar para estratégia de branches\n- [ ] Versionamento semântico (SemVer) aplicado\n- [ ] Tags e releases publicados com **Release Notes** claras\n- [ ] GitHub Actions / GitLab CI configurado com:\n  - [ ] Build automatizado\n  - [ ] Testes automatizados (unitários/integrados)\n  - [ ] Linter (ex: ESLint, Flake8, etc.)\n  - [ ] Validação de segurança e dependências (ex: Dependabot, Snyk)\n- [ ] Arquivos de configuração de ambiente: `Dockerfile`, `docker-compose.yml`, `.env.example`\n\n---\n\n### 📚 Documentação\n- [ ] `README.md` completo com:\n  - [ ] Visão geral do projeto (com prints de como funciona o projeto)\n  - [ ] Tecnologias utilizadas\n  - [ ] Como rodar localmente (instalação + execução)\n  - [ ] Como contribuir (passo a passo) - getting started - https://blog.discourse.org/tag/getting-started/\n  - [ ] Como usar a aplicação  (guia de usuário) - https://blog.discourse.org/tag/getting-started/\n  - [ ] Licença\n- [ ] `CONTRIBUTING.md` com diretrizes de contribuição\n- [ ] `CODE_OF_CONDUCT.md` com boas práticas de convivência\n- [ ] `CHANGELOG.md` com histórico de alterações\n- [ ] gitpage com:\n  - [ ] Landing page - visão de produto - ex: https://www.discourse.org/\n  - [ ] Arquitetura da solução\n  - [ ] Roadmap e backlog público\n  - [ ] Dicionário de dados (se aplicável)\n  - [ ] Documentação técnica de como contribuir (community)\n\n---\n\n### 📢 Comunicação e Comunidade\n- [ ] Sistema de governança (ex: mantenedores, comitês, votação)\n- [ ] Templates para issues e pull requests\n- [ ] Etiquetas (labels) para organizar issues (ex: good first issue, bug, enhancement)\n- [ ] Agendas públicas de reuniões (caso ocorram)\n\n---\n\n### ⚖️ Licenciamento e Aspectos Legais\n- [ ] `LICENSE` com licença de software livre (ex: MIT, GPL, Apache 2.0)\n- [ ] Verificação de licenças das dependências utilizadas\n- [ ] Termos de uso e política de privacidade (para projetos web/app)\n\n---\n\n### 🧪 Qualidade e Testabilidade\n- [ ] Cobertura de testes mínima estabelecida e monitorada\n- [ ] Testes end-to-end automatizados (se aplicável)\n- [ ] Ferramentas de análise estática de código\n- [ ] Monitoramento de qualidade com badges (ex: Codecov, SonarCloud)\n\n---\n\n### 📈 Sustentabilidade e Crescimento\n- [ ] Roadmap público com funcionalidades desejadas\n- [ ] Planejamento de onboarding de novos contribuidores (documentacao de onboarding)\n\n---\n\n### 🛠️ Infraestrutura e Deploy (Opcional)\n- [ ] Deploy automatizado (CI/CD) para ambiente de homologação/produção\n- [ ] Infraestrutura como código (IaC) para ambientes cloud (ex: Terraform, Ansible)\n- [ ] Observabilidade básica: logs, métricas e alertas (ex: Prometheus, Grafana, Sentry)\n"
  },
  {
    "path": "content/_index.md",
    "content": "---\ntitle: \"Gerência de Configuração e Evolução de Software\"\ndate: 2025-08-14\ndraft: false\n---\n\n# Gerência de Configuração e Evolução de Software\n\nBem-vindos à disciplina de **Gerência de Configuração e Evolução de Software** da UnB/FGA.\n\n## Sobre a Disciplina\n\nEsta disciplina aborda os principais conceitos e práticas de gerência de configuração e evolução de software, incluindo:\n\n- Identificação de configuração (itens e linha-base)\n- Controle de mudanças e versões\n- Integração e entrega contínua\n- Monitoramento do desenvolvimento de software\n- Gerenciamento do processo de construção/build\n- Pacotes e dependência de software\n- Princípios e técnicas de manutenção de software\n- Sustentação de software\n\n## Professora\n\n**Prof. Carla Rocha**\n\n## Navegação\n\n- [📅 Cronograma de Aulas](/cronograma/)\n- [📊 Slides das Aulas](/slides/)\n- [🚀 Projetos](/projetos/)\n\n## Período Atual: 2025.2\n\n**Período:** 18/08/2025 a 06/12/2025  \n**Dias da semana:** Segundas e Quartas-feiras\n\n## Avaliação\n\nA disciplina é composta por:\n- **Projeto em Grupo** (70% da nota)\n- **Trabalho Individual** (30% da nota)\n\nPara mais detalhes sobre a metodologia e critérios de avaliação, consulte o cronograma completo.\n"
  },
  {
    "path": "content/cronograma/_index.md",
    "content": "---\ntitle: \"Cronograma de Aulas\"\ndate: 2025-08-14\ndraft: false\n---\n\n# Cronograma de Aulas – 2025.2\n\n**Disciplina:** Gerência de Configuração e Evolução de Software  \n**Professora:** Carla Rocha  \n**Período:** 18/08/2025 a 06/12/2025  \n**Dias da semana:** Segundas e Quartas-feiras  \n\n| Data       | Dia da Semana   | Aula                                                                 |\n|------------|-----------------|----------------------------------------------------------------------|\n| 18/08/2025 | Segunda-feira   | Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração |\n| 20/08/2025 | Quarta-feira    | Apresentação dos Projetos / Questionário de Perfil das Equipes       |\n| 25/08/2025 | Segunda-feira   | Desenvolvimento colaborativo / Definição das equipes                |\n| 27/08/2025 | Quarta-feira    | Revisão de Git avançado                                              |\n| 01/09/2025 | Segunda-feira   | Início da configuração dos ambientes dos projetos                    |\n| 03/09/2025 | Quarta-feira    | Acompanhamento de configuração dos projetos                          |\n| 08/09/2025 | Segunda-feira   | Planejamento ágil / Backlog                                          |\n| 10/09/2025 | Quarta-feira    | Automação da Build                                                   |\n| 15/09/2025 | Segunda-feira   | Configuração de Ambiente                                             |\n| 17/09/2025 | Quarta-feira    | **Release I**                                                        |\n| 22/09/2025 | Segunda-feira   | Acompanhamento                                                       |\n| 24/09/2025 | Quarta-feira    | Aula: DevOps                                                         |\n| 29/09/2025 | Segunda-feira   | Projeto Individual                                                   |\n| 01/10/2025 | Quarta-feira    | Acompanhamento                                                       |\n| 06/10/2025 | Segunda-feira   | Aula: Isolamento de Ambiente                                         |\n| 08/10/2025 | Quarta-feira    | Aula: Orquestradores / Kubernetes                                    |\n| 13/10/2025 | Segunda-feira   | **FERIADO** – Nossa Senhora Aparecida (transferido)                   |\n| 15/10/2025 | Quarta-feira    | Enunciado do Trabalho Individual                                     |\n| 20/10/2025 | Segunda-feira   | Aula: Licenças de software livre / Copyright, patentes e aspectos legais |\n| 22/10/2025 | Quarta-feira    | Palestra 1                                                            |\n| 27/10/2025 | Segunda-feira   | **Release II**                                                        |\n| 29/10/2025 | Quarta-feira    | Acompanhamento                                                        |\n| 03/11/2025 | Segunda-feira   | Entrega Trabalho Individual                                          |\n| 05/11/2025 | Quarta-feira    | Aula: Clean Code / SOLID                                              |\n| 10/11/2025 | Segunda-feira   | Acompanhamento                                                        |\n| 12/11/2025 | Quarta-feira    | Dívidas Técnicas dos Projetos                                        |\n| 17/11/2025 | Segunda-feira   | Dívidas Técnicas dos Projetos / Fechamento                           |\n| 19/11/2025 | Quarta-feira    | **Release III**                                                       |\n| 24/11/2025 | Segunda-feira   | **FERIADO** – Dia da Consciência Negra (ponto facultativo)            |\n| 26/11/2025 | Quarta-feira    | Reserva para reposição / ajustes finais                              |\n\n## Critérios de Avaliação\n\n### Projeto em Grupo (70%)\n- **Release I** - 20%\n- **Release II** - 25% \n- **Release III** - 25%\n\n### Trabalho Individual (30%)\n- **Trabalho Individual** - 30%\n\n## Observações\n\n- As datas podem sofrer alterações conforme necessário\n- Acompanhe os anúncios para possíveis mudanças no cronograma\n- Releases são marcos importantes de entrega dos projetos\n"
  },
  {
    "path": "content/projetos/_index.md",
    "content": "---\ntitle: \"Projetos\"\ndate: 2025-08-14\ndraft: false\n---\n\n# Projetos da Disciplina\n\nEsta seção contém informações sobre os projetos desenvolvidos ao longo dos semestres na disciplina de Gerência de Configuração e Evolução de Software.\n\n## Projetos por Semestre\n\n### 2025.1\n- [🚀 Projetos 2025.1 - Turma Renato](../Projetos_2025_1_Turma_Renato.md)\n\n### 2025.2  \n- [🚀 Projetos 2025.2](../Projetos_2025_2.md)\n\n### 2024\n- [🚀 Projetos 2024.1](../Projetos_2024_1.md)\n- [🚀 Projetos 2024.2](../Projetos_2024_2.md)\n\n### 2023\n- [🚀 Projetos 2023.1](../Projetos_2023_1.md)\n- [🚀 Projetos 2023.2](../Projetos_2023_2.md)\n\n### 2022\n- [🚀 Projetos 2022.1 - Turma T02](../Projetos_2022_1_Turma_T02.md)\n- [🚀 Projetos 2022.2 - Turma T01](../Projetos_2022_2_Turma_T01.md)\n\n### 2021\n- [🚀 Projetos 2021.1](../Projetos_2021_1.md)\n- [🚀 Projetos 2021.2](../Projetos_2021_2.md)\n- [📊 Resultados dos grupos 2021.2](../Resultados%20dos%20grupos%202021_2.md)\n\n## Trabalho Individual\n\n### Exemplo de Projeto Individual\n- [📝 Projeto Individual Carla 2023.1](../ProjetoIndividualCarla2023-1.md)\n\n## Metodologia dos Projetos\n\nOs projetos da disciplina seguem uma metodologia baseada em:\n\n1. **Desenvolvimento Colaborativo**: Trabalho em equipes utilizando práticas de desenvolvimento ágil\n2. **Releases Incrementais**: Entregas em marcos específicos (Release I, II e III)\n3. **Integração Contínua**: Implementação de pipelines de CI/CD\n4. **Configuração de Ambiente**: Setup de ambientes de desenvolvimento e produção\n5. **Qualidade de Software**: Aplicação de princípios de código limpo e SOLID\n\n## Critérios de Avaliação\n\n### Projeto em Grupo (70%)\n- **Release I** (20%): Configuração inicial e setup do projeto\n- **Release II** (25%): Implementação de funcionalidades core\n- **Release III** (25%): Finalização e entrega completa\n\n### Trabalho Individual (30%)\n- Projeto individual focado em aspectos específicos da disciplina\n\n## Recursos Adicionais\n\n- [📋 Checklists](../cheklists.md) - Lista de verificação para os projetos\n- [📚 Plano de Ensino](../plano-ensino-carla.md) - Detalhes completos da disciplina\n\n## Observações\n\n- Todos os projetos devem ser desenvolvidos utilizando controle de versão (Git)\n- É obrigatório o uso de práticas de integração contínua\n- Os projetos devem demonstrar a aplicação dos conceitos aprendidos em aula\n"
  },
  {
    "path": "content/slides/_index.md",
    "content": "---\ntitle: \"Slides das Aulas\"\ndate: 2025-08-14\ndraft: false\n---\n\n# Slides das Aulas\n\nAqui você encontra todos os slides utilizados nas aulas da disciplina de Gerência de Configuração e Evolução de Software.\n\n## Material Disponível\n\n### Conceitos Fundamentais\n- [📊 Conceitos de GCS - Introdução](../slides/01%20-%20Conceitos%20de%20GCS%20-%20Introdução.pdf)\n- [📊 Controle de Versão](../slides/02%20-%20Controle%20de%20Versão.pdf)\n- [📊 Integração Contínua](../slides/03%20-%20Continous%20Integration.pdf)\n\n### Ferramentas e Práticas\n- [📊 Git - Controle de Versão](../slides/2020-04-02_git.pdf)\n- [📊 Automação da Build](../slides/Automação%20da%20Build.pdf)\n- [📊 Automação da Configuração do Ambiente](../slides/Automação%20da%20Configuração%20do%20Ambiente.pdf)\n\n### DevOps e Infraestrutura\n- [📊 DevOps](../slides/2020-04-16_DevOps.pdf)\n- [📊 Isolamento de Ambiente - Docker](../slides/Isolamento%20de%20Ambiente%20-%20Docker.pdf)\n- [📊 Gerência De Configuração de Software & Integração Contínua](../slides/Gerência%20De%20Configuração%20de%20Software%20&%20Integração%20Contínua.pdf)\n\n### Qualidade de Software\n- [📊 Clean Code - Slides](../slides/Slides%20-%20Clean%20Code.pdf)\n- [📊 SOLID - Princípios](../slides/Slides%20-%20SOLID.pdf)\n- [📊 Código Limpo - Artigos WSL2012](../slides/Codigo%20Limpo%20-%20Artigos-WSL2012.pdf)\n- [📊 Código Limpo - Monografia](../slides/Codigo%20Limpo%20-%20Monografia.pdf)\n\n### Aspectos Legais\n- [📊 Licenças - Software Livre](../slides/Licenças%20-%20Software%20Livre.pdf)\n\n## Como Usar\n\n1. Clique nos links acima para baixar os slides\n2. Os slides estão em formato PDF\n3. Recomenda-se revisar os slides antes e depois das aulas\n4. Use os slides como material de apoio para os projetos\n\n## Observações\n\n- Todos os slides são de autoria da Prof. Carla Rocha\n- Material atualizado regularmente conforme o andamento do curso\n- Para dúvidas sobre o conteúdo, utilize os canais de comunicação da disciplina\n"
  },
  {
    "path": "diario-bordo.md",
    "content": "# Diário de Bordo – \\[Nome do(a) Aluno(a)]\n\n**Disciplina:** \\[Nome da disciplina]\n**Equipe:** \\[Nome/Identificação da equipe]\n**Comunidade/Projeto de Software Livre:** \\[Nome do projeto/comunidade]\n\n---\n\n## Sprint 1 – \\[Data início – Data fim]\n\n### Resumo da Sprint\n\nBreve descrição das atividades e reflexões.\n\n### Atividades Realizadas\n\n| Data  | Atividade                                   | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status    |\n| ----- | ------------------------------------------- | --------------------------------- | --------------- | --------- |\n| 20/08 | Configuração inicial do ambiente            | Código                            | –               | Concluído |\n| 22/08 | Leitura e estudo da documentação do projeto | Estudo                            | \\[link wiki]    | Concluído |\n| 24/08 | Abertura de issue para bug em módulo X      | Discussão                         | \\[link issue]   | Concluído |\n\n### Maiores Avanços\n\n* \\[Exemplo] Aprendi a rodar a aplicação localmente.\n* \\[Exemplo] Entendi melhor a organização do repositório.\n\n### Maiores Dificuldades\n\n* \\[Exemplo] Ambiente demorou para configurar por falta de dependências.\n\n### Aprendizados\n\n* Uso básico de GitHub Issues.\n* Fluxo de contribuição do projeto.\n\n### Plano Pessoal para a Próxima Sprint\n\n* [ ] Contribuir com pelo menos 1 PR.\n* [ ] Participar da revisão de código de um colega.\n\n---\n\n## Sprint 2 – \\[Data início – Data fim]\n\n### Resumo da Sprint\n\nBreve descrição.\n\n### Atividades Realizadas\n\n| Data  | Atividade                   | Tipo    | Link/Referência | Status    |\n| ----- | --------------------------- | ------- | --------------- | --------- |\n| 03/09 | Implementação da função Y   | Código  | \\[link PR]      | Concluído |\n| 05/09 | Revisão de PR de colega     | Revisão | \\[link PR]      | Concluído |\n| 08/09 | Atualização de documentação | Doc     | \\[link wiki]    | Parcial   |\n\n### Maiores Avanços\n\n* \\[Exemplo] Primeiro PR aceito pela comunidade.\n\n### Maiores Dificuldades\n\n* Dificuldade com testes automatizados.\n\n### Aprendizados\n\n* Melhoria no uso de Git (branches, rebase).\n* Importância de escrever commits claros.\n\n### Plano Pessoal para a Próxima Sprint\n\n* [ ] Melhorar conhecimento em testes.\n* [ ] Aprofundar em Docker para rodar ambiente completo.\n\n---\n\n## Sprint 3 – \\[Data início – Data fim]\n\n*(Repete-se a mesma estrutura, até o final da disciplina.)*\n    "
  },
  {
    "path": "docker-compose.yml",
    "content": "version: '3.8'\n\nservices:\n  hugo:\n    build: .\n    ports:\n      - \"1314:1313\"\n    volumes:\n      - .:/src\n      - /src/public\n      - /src/resources\n    environment:\n      - HUGO_ENVIRONMENT=development\n    command: hugo server --bind 0.0.0.0 --port 1313 --buildDrafts --buildFuture --disableFastRender --baseURL http://localhost:1314\n    restart: unless-stopped\n\n  hugo-build:\n    build: .\n    volumes:\n      - .:/src\n    environment:\n      - HUGO_ENVIRONMENT=production\n    command: hugo --gc --minify\n    profiles:\n      - build\n"
  },
  {
    "path": "hugo.toml",
    "content": "baseURL = 'https://fga-gces.github.io/A-disciplina/'\nlanguageCode = 'pt-br'\ntitle = 'Gerência de Configuração e Evolução de Software'\ntheme = 'PaperMod'\n\n[params]\n  description = \"Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA\"\n  author = \"Prof. Carla Rocha\"\n  ShowReadingTime = true\n  ShowShareButtons = false\n  ShowPostNavLinks = true\n  ShowBreadCrumbs = true\n  ShowCodeCopyButtons = true\n  ShowWordCount = true\n  ShowRssButtonInSectionTermList = true\n  UseHugoToc = true\n  disableSpecial1stPost = false\n  disableScrollToTop = false\n  comments = false\n  hidemeta = false\n  hideSummary = false\n  showtoc = false\n  tocopen = false\n\n[params.homeInfoParams]\n  Title = \"Gerência de Configuração e Evolução de Software\"\n  Content = \"Bem-vindos à disciplina de Gerência de Configuração e Evolução de Software da UnB/FGA. Aqui você encontrará todo o material do curso, incluindo slides, projetos e cronograma de aulas.\"\n\n[[params.socialIcons]]\n  name = \"github\"\n  url = \"https://github.com/fga-gces/A-disciplina\"\n\n[menu]\n  [[menu.main]]\n    identifier = \"home\"\n    name = \"Início\"\n    url = \"/\"\n    weight = 10\n  [[menu.main]]\n    identifier = \"cronograma\"\n    name = \"Cronograma\"\n    url = \"/cronograma/\"\n    weight = 20\n  [[menu.main]]\n    identifier = \"slides\"\n    name = \"Slides\"\n    url = \"/slides/\"\n    weight = 30\n  [[menu.main]]\n    identifier = \"projetos\"\n    name = \"Projetos\"\n    url = \"/projetos/\"\n    weight = 40\n\n[markup]\n  [markup.goldmark]\n    [markup.goldmark.renderer]\n      unsafe = true\n"
  },
  {
    "path": "plano-ensino-carla.md",
    "content": "# Gerência de Configuração Evolução de Software\n\n## 1 - Tópicos/Ementa\n- Identificação de configuração (itens e linha-base)\n- Controle de mudanças e versões\n- Integração e entrega contínua\n- Monitoramento do desenvolvimento de software\n- Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção)\n- Pacotes e dependência de software\n- Princípios e técnicas de manutenção de software\n- Sustentação de software\n\n## 2 - Plano de Aulas\n## Plano de Aulas – 2025.1  \n**Disciplina:** Gerência de Configuração e Evolução de Software  \n**Período:** 24/03/2025 a 26/07/2025  \n**Dias da semana:** Segundas e Quartas-feiras\n\n| Data       | Dia da Semana   | Aula                                                                 |\n|------------|------------------|----------------------------------------------------------------------|\n| 24/03/2025 | Segunda-feira    | Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração |\n| 26/03/2025 | Quarta-feira     | Apresentação dos Projetos / Questionário de Perfil das Equipes                |\n| 31/03/2025 | Segunda-feira    | Desenvolvimento colaborativo /Definição das equipes                                         |\n| 02/04/2025 | Quarta-feira     |     Revisão de Git avançado |\n| 07/04/2025 | Segunda-feira    | Início da configuração dos ambientes dos projetos |\n| 09/04/2025 | Quarta-feira     | Acompanhamento de configuração dos projetos                          |\n| 14/04/2025 | Segunda-feira    | Planejamento ágil / Backlog |\n| 16/04/2025 | Quarta-feira     |     Automação da Build                                      |\n| 23/04/2025 | Quarta-feira     |             Configuração de Ambiente                            |\n| 28/04/2025 | Segunda-feira    |      **Release I**     |\n| 30/04/2025 | Quarta-feira     | Acompanhamento                                           |\n| 05/05/2025 | Segunda-feira    | Aula: DevOps                                                         |\n| 07/05/2025 | Quarta-feira     | Projeto Individual                                       |\n| 12/05/2025 | Segunda-feira    | Acompanamento                                                  |\n| 14/05/2025 | Quarta-feira     | Aula: Isolamento de Ambiente                                         |\n| 19/05/2025 | Segunda-feira    | Aula: Orquestradores / Kubernetes                                    |\n| 21/05/2025 | Quarta-feira     | Enunciado do Trabalho Individual       |\n| 26/05/2025 | Segunda-feira    | Aula: Licenças de software livre / Copyright, patentes e aspectos legais |\n| 28/05/2025 | Quarta-feira     | Palestra 1                                                           |\n| 02/06/2025 | Segunda-feira    | **ReleaseII**                                                            |\n| 04/06/2025 | Quarta-feira     | Acompanhamento                    |\n| 09/06/2025 | Segunda-feira    | Entrega Trabalho Individual                                         |\n| 11/06/2025 | Quarta-feira     | Aula: Clean Code / SOLID                                             |\n| 16/06/2025 | Segunda-feira    | Acompanhamento                                        |\n| 18/06/2025 | Quarta-feira     | Dívidas Técnicas dos Projetos                                        |\n| 23/06/2025 | Segunda-feira    | Dívidas Técnicas dos Projetos / Fechamento                           |\n| 25/06/2025 | Quarta-feira     | **Release III**                                     |\n\n\n<!-- | 19/03/2024 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 21/03/2024 | Quinta-feira | Aula: Revisão de Git avançado |\n| 26/03/2024 | Terça-feira  | Desenvolvimento colaborativo  |\n| 28/03/2024 | Quinta-feira | Aula: Integração Contínua |\n| 02/04/2024 | Terça-feira  | Aula: Automação da Build <br> Automação da Configuração do Ambiente |\n| 04/04/2024 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 09/04/2024 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 11/04/2024 | Quinta-feira | Acompanhamento de configuração dos projetos |\n| 15/04/2024 |  | Interrupção - Greve |\n| 27/06/2024 | Quinta-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 02/07/2024 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 04/07/2024 | Quinta-feira | Show me the code - Sprint 1 |\n| 09/07/2024 | Terça-feira  | Início da Sprint 2 <br> |\n| 11/07/2024 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 16/07/2024 | Terça-feira  | Aula: DevOps |\n| 18/07/2024 | Quinta-feira | Show me the code - Sprint 2 |\n| 23/07/2024 | Terça-feira  | Início Sprint 3 |\n| 25/07/2024 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 30/07/2024 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 01/08/2024 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 06/08/2024 | Terça-feira  | Início Sprint 4 |\n| 08/08/2024 | Quinta-feira | Aula: Licenças de software livre <br> Aula: Aula: Copyright, patentes e aspectos legais |\n| 13/08/2024 | Terça-feira  | Palestra 1 |\n| 15/08/2024 | Quinta-feira | Palestra 2  |\n| 20/08/2024 | Terça-feira  | Show me the code - Sprint 4 <br> Início da Sprint 5 |\n| 22/08/2024 | Quinta-feira | Aula: Clean Code / SOLID |\n| 27/08/2024 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 29/08/2024 | Quinta-feira | Show me the code - Sprint 5 |\n| 03/09/2024 | Terça-feira  | Dívidas Técnicas dos Projetos |\n| 05/09/2024 | Quinta-feira | Dívidas Técnicas dos Projetos |\n| 10/09/2024 | Terça-feira  | Apresentação final dos projetos |\n| 12/09/2024 | Quinta-feira | Revisão de Notas | -->\n\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 29/08/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 31/08/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 05/09/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 07/09/2023 | Quinta-feira | Feriado |\n| 12/09/2023 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 14/09/2023 | Quinta-feira | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 19/09/2023 | Terça-feira  | Início da Sprint 1 <br> Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 21/09/2023 | Quinta-feira | Aula: Integração Contínua\n| 26/09/2023 | Terça-feira  | Semana Universitária |\n| 28/09/2023 | Quinta-feira | Semana Universitária |\n| 03/10/2023 | Terça-feira  | Acompanhamento da Sprint 1 |\n| 05/10/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 10/10/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 12/10/2023 | Quinta-feira | Feriado |\n| 17/10/2023 | Terça-feira  | Aula: DevOps |\n| 19/10/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 24/10/2023 | Terça-feira  | Início Sprint 3 |\n| 26/10/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 31/10/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 02/11/2023 | Quinta-feira | Feriado |\n| 07/11/2023 | Terça-feira  | Show me the code - Sprint 3 <br> Início da Sprint 4 |\n| 09/11/2023 | Quinta-feira | Aula: Licenças de software livre |\n| 14/11/2023 | Terça-feira  | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/11/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 21/11/2023 | Terça-feira  | Início da Sprint 5 <br> Aula: Clean Code / SOLID |\n| 23/11/2023 | Quinta-feira | Acompanhamento da Sprint 5 |\n| 28/11/2023 | Terça-feira  | Acompanhamento da Sprint 5 |\n| 30/11/2023 | Quinta-feira | Show me the code - Sprint 5 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 05/12/2023 | Terça-feira  | Palestra 1 |\n| 07/12/2023 | Quinta-feira | Palestra 2  |\n| 12/12/2023 | Terça-feira  | Acompanhamento do Trabalho Individual |\n| 14/12/2023 | Quinta-feira | Acompanhamento do Trabalho Individual |\n| 19/12/2023 | Terça-feira  | Apresentação final dos projetos | -->\n\n\n\n<!--| Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 28/03/2023 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 30/03/2023 | Quinta-feira | Aula: Revisão de Git avançado |\n| 04/04/2023 | Terça-feira  | Desenvolvimento colaborativo | \n| 06/04/2023 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 11/04/2023 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 13/04/2023 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 18/04/2023 | Terça-feira  | Início da Sprint 1 |\n| 20/04/2023 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 25/04/2023 | Terça-feira  | Aula: Integração Contínua |\n| 27/04/2023 | Quinta-feira | Show me the code - Sprint 1 |\n| 02/05/2023 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 04/05/2023 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 07/05/2023 | Terça-feira  | Aula: DevOps |\n| 09/05/2023 | Quinta-feira | Show me the code - Sprint 2 |\n| 11/05/2023 | Terça-feira  | Início Sprint 3 |\n| 16/05/2023 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 18/05/2023 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 23/05/2023 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 25/05/2023 | Terça-feira  | Aula: Licenças de software livre |\n| 30/05/2023 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 01/06/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 06/06/2023 | Quinta-feira | **Entrega do Trabalho Individual (07/06/2023)** |\n| 08/06/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 13/06/2023 | Quinta-feira | Aula: SOLID |\n| 15/06/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 18/06/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 20/06/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 22/06/2023 | Quinta-feira | Palestra 1 |\n| 27/06/2023 | Terça-feira  | Palestra 2 |\n| 29/06/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 04/07/2023 | Terça-feira  | Início da Sprint 6 <br> |\n| 06/07/2023 | Quinta-feira | Acompanhamento da Sprint 6 |\n| 11/07/2023 | Terça-feira  | Acompanhamento da Sprint 6 |\n| 13/07/2023 | Quinta-feira | Show me the code - Sprint 6 |\n| 18/07/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 20/07/2023 | Quinta-feira | Apresentação final dos projetos |  -->\n\n\n<!-- 2022-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 25/10/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 27/10/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 1/11/2022 | Terça-feira  | Desenvolvimento colaborativo | \n| 3/11/2022 | Quinta-feira | Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 8/11/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 10/11/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 15/11/2022 | Terça-feira  | Início da Sprint 1 |\n| 17/11/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 22/11/2022 | Terça-feira  | Aula: Integração Contínua |\n| 24/11/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 29/11/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 1/12/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 6/12/2022 | Terça-feira  | Aula: DevOps |\n| 8/12/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 13/12/2022 | Terça-feira  | Início Sprint 3 |\n| 15/12/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 20/12/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 22/12/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 27/12/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 29/12/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 3/1/2023 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 5/1/2023 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 10/1/2023 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 12/1/2023 | Quinta-feira | Aula: SOLID |\n| 17/1/2023 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 19/1/2023 | Quinta-feira | Show me the code - Sprint 4 |\n| 24/1/2023 | Terça-feira  | Início da Sprint 5 <br> |\n| 26/1/2023 | Quinta-feira | Palestra 1 |\n| 31/1/2023 | Terça-feira  | Palestra 2 |\n| 2/2/2023 | Quinta-feira | Show me the code - Sprint 5 |\n| 7/2/2023 | Terça-feira  | Solução de Dívidas Técnicas |\n| 9/2/2023 | Quinta-feira | Apresentação final dos projetos | -->\n\n\n<!-- 2022-1 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 07/06/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Introdução à Gerência de Configuração |\n| 09/06/2022 | Quinta-feira | Aula: Revisão de Git avançado |\n| 14/06/2022 | Terça-feira  | Apresentação dos Projetos <br> Questionário de Perfil das Equipes | \n| 16/06/2022 | Quinta-feira | Feriado |  \n| 21/06/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 23/06/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 28/06/2022 | Terça-feira  | Início da Sprint 1 |\n| 30/06/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |  \n| 05/07/2022 | Terça-feira  | Aula: Integração Contínua |\n| 07/07/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 12/07/2022 | Terça-feira  | Início da Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 14/07/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 19/07/2022 | Terça-feira  | Aula: DevOps |\n| 21/07/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 26/07/2022 | Terça-feira  | Início Sprint 3 |\n| 28/07/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 02/08/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 04/08/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 09/08/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 11/08/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 16/08/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 18/08/2022 | Quinta-feira | **Entrega do Trabalho Individual (21/08/2022)** |\n| 23/08/2022 | Terça-feira  | Início da Sprint 4 <br> Aula: Clean Code |\n| 25/08/2022 | Quinta-feira | Aula: SOLID |\n| 30/08/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 01/09/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 06/09/2022 | Terça-feira  | Início da Sprint 5 <br> |\n| 08/09/2022 | Quinta-feira | Palestra 1 |\n| 13/09/2022 | Terça-feira  | Palestra 2 |\n| 15/09/2022 | Quinta-feira | Show me the code - Sprint 5 |\n| 20/09/2022 | Terça-feira  | Solução de Dívidas Técnicas |\n| 22/09/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- 2021-2 -->\n<!-- | Data | Dia da Semana | Aula |\n| :--------: | :--------: |:------|\n| 18/01/2022 | Terça-feira  | Apresentação da disciplina <br> Definição da dinâmica do curso <br> Aula: Revisão de Git avançado|\n| 20/01/2022 | Quinta-feira | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 25/01/2022 | Terça-feira  | Definição das equipes <br> Iniciar a configuração dos ambientes dos projetos |\n| 27/01/2022 | Quinta-feira | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 01/02/2022 | Terça-feira  | Início Sprint 1 |\n| 03/02/2022 | Quinta-feira | Aula: Controle de versão e desenvolvimento colaborativo |\n| 08/02/2022 | Terça-feira  | Aula: Integração Contínua |\n| 10/02/2022 | Quinta-feira | Show me the code - Sprint 1 |\n| 15/02/2022 | Terça-feira  | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 17/02/2022 | Quinta-feira | Acompanhamento da Sprint 2 |\n| 22/02/2022 | Terça-feira  | Aula: DevOps |\n| 24/02/2022 | Quinta-feira | Show me the code - Sprint 2 |\n| 01/03/2022 | Terça-feira  | Início Sprint 3 <br> *Feriado* |\n| 03/03/2022 | Quinta-feira | Aula: Isolamento de Ambiente |\n| 08/03/2022 | Terça-feira  | Aula: Orquestradores / Kubernetes  |\n| 10/03/2022 | Quinta-feira | Show me the code - Sprint 3 <br> **Apresentação do Enunciado do Trabalho Individual** |\n| 15/03/2022 | Terça-feira  | Aula: Licenças de software livre |\n| 17/03/2022 | Quinta-feira | Aula: Aula: Copyright, patentes e aspectos legais |\n| 22/03/2022 | Terça-feira  | Acompanhamento Trabalho Individual |\n| 24/03/2022 | Quinta-feira | **Entrega do Trabalho Individual (27/03/2022)** |\n| 29/03/2022 | Terça-feira  | Início Sprint 4 <br> Aula: Clean Code |\n| 31/03/2022 | Quinta-feira | Aula: SOLID |\n| 05/04/2022 | Terça-feira  | Acompanhamento da Sprint 4 |\n| 07/04/2022 | Quinta-feira | Show me the code - Sprint 4 |\n| 12/04/2022 | Terça-feira  | Início Sprint 5 <br> |\n| 14/04/2022 | Quinta-feira | Palestra 1 |\n| 19/04/2022 | Terça-feira  | Palestra 2 |\n| 21/04/2022 | Quinta-feira | *Feriado*\n| 26/04/2022 | Terça-feira  | Show me the code - Sprint 5 |\n| 28/04/2022 | Quinta-feira | Sprint de Dívidas Técnicas |\n| 03/05/2022 | Terça-feira  | Sprint de Dívidas Técnicas |\n| 05/05/2022 | Quinta-feira | Apresentação final dos projetos | -->\n\n<!-- **2021** -->\n\n<!-- | 20/07/2021 | Apresentação da disciplina <br> Definição da dinâmica do curso  |\n| 22/07/2021 | Introdução à Gerência de Configuração <br> Apresentação dos Projetos <br> Questionário de Perfil das Equipes |\n| 27/07/2021 | Definição das equipes <br> Iniciar a configuração dos ambientes dos rojetos |\n| 29/07/2021 | Finalizar ambientes dos projetos <br> Planejamento ágil <br> Levantamento do backlog dos projetos |\n| 03/08/2021 | Início Sprint 1 |\n| 05/08/2021 | Aula: Controle de versão e desenvolvimento colaborativo |\n| 10/08/2021 | Aula: Integração Contínua |\n| 12/08/2021 | Show me the code - Sprint 1 |\n| 17/08/2021 | Início Sprint 2 <br> Aula: Automação da Build <br> Automação da Configuração do Ambiente|\n| 19/08/2021 | Acompanhamento da Sprint 2 |\n| 24/08/2021 | Aula: DevOps |\n| 26/08/2021 | Show me the code - Sprint 2 |\n| 31/08/2021 | Início Sprint 3 <br> Aula: Isolamento de Ambiente |\n| 02/09/2021 | Aula: Orquestradores / Kubernetes  |\n| 07/09/2021 | *Feriado* |\n| 09/09/2021 | Show me the code - Sprint 3 |\n| 14/09/2021 | Início Sprint 4 <br> Aula: Clean Code |\n| 16/09/2021 | Aula: SOLID |\n| 21/09/2021 | Acompanhamento da Sprint 4 |\n| 23/09/2021 | Show me the code - Sprint 4 |\n| 28/09/2021 | Início Sprint 5 <br> Aula: Licenças de software livre |\n| 30/09/2021 | Aula: Aula: Copyright, patentes e aspectos legais |\n| 05/10/2021 | Acompanhamento da Sprint 5 |\n| 07/10/2021 | Show me the code - Sprint 5 |\n| 12/10/2021 | Início Sprint 6 <br> *Feriado* |\n| 14/10/2021 | Palestra 1 |\n| 19/10/2021 | Palestra 2 |\n| 21/10/2021 | Show me the code - Sprint 6 |\n| 26/10/2021 | Sprint de Dívidas Técnicas |\n| 28/10/2021 | Sprint de Dívidas Técnicas |\n| 02/11/2021 | *Feriado* |\n| 04/11/2021 | Apresentação final dos projetos | -->\n\n## Critérios de Avaliação\n\n- Nota de Grupo - nota relacionada a entrega coletiva da entrega no projeto\n  \n|  Nota de Grupo  | Peso total 30%|\n|  ---  | :---: |\n|  Entregas (commits e funcionalidades) | 15% |\n|  Apresentações (Clean Code e SOLID)   | 10% |\n|  Apresentação | 5% |  \n\n- Nota Individual - nota relacionada a entrega individual no projeto quanto o trabalho individual\n  \n|  Nota Individual    | Peso total 70% |\n|  ---  | :---: |\n|  Trabalho Individual*  | 35% |\n|  Contribuições individuais | 35% |\n\n\n- Release I - Checklist de software livre + roadmap do que vai ser feito + ambiente rodando\n  - Checklist de Software livre: gitpage de produto + documentação técnica da comunidade + templates + códigos de conduta, etc. É esperado que esses artefatos estejam em uma primeira versão. Docker, docker, compose, integração contínua, testes automatizados. \n  - Roadmap do projeto: dependencias escolhidas, como a funcionalidade nova estará na arquitetura, epicos, features e estorias de usuário documentados no github issues. \n  - Configuração de ambiente: o ambiente funcionando em todas as máquinas, o readme atualizado com os passos para subir o ambiente e a nova funcionalidade iniciado os experimentos/implementação.\n- Release II - Andamento do projeto: o que já foi implementado, ajustes no roadmap e decisoes de gces. Gestão de riscos\n- Release III - Entrega final. Post mortem do projeto, e roadmap ainda a ser feito (revisado). \n\n\nA nota final será a soma da nota individual com a nota de grupo, nas proporções indicadas acima.\n* Obs: A entrega do Trabalho Individual é obrigatória para a aprovação do aluno.\n\n## Material de Semestres anteriores\n\n[Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação)\n\n## Lista de Projetos 2024/1\n\n[Acesse a lista de Projetos de 2024/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2024_2.md)\n\n<!-- [Acesse a lista de Projetos de 2021/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2021_2.md)-->\n\n<!-- [Acesse a lista de Projetos de 2022/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2022_2_Turma_T01.md) -->\n"
  },
  {
    "path": "public/404.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>404 Page not found | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/404.html\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/404.html\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\">\n<div class=\"not-found\">404</div>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css",
    "content": "/*\n  PaperMod v8+\n  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE\n  Copyright (c) 2020 nanxiaobei and adityatelange\n  Copyright (c) 2021-2025 adityatelange\n*/\n:root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238)}.dark{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--code-bg)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:10px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:320px;margin:var(--gap)0 calc(var(--gap) * 2)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:34px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border)}.post-entry:active{transform:scale(.96)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--secondary);font-size:14px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-hint{color:var(--secondary)}.entry-hint-parent{display:flex;justify-content:space-between}.entry-cover{font-size:14px;margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.page-header,.post-header{margin:24px auto var(--content-gap)}.post-title{margin-bottom:2px;font-size:40px}.post-description{margin-top:10px;margin-bottom:5px}.post-meta,.breadcrumbs{color:var(--secondary);font-size:14px;display:flex;flex-wrap:wrap;align-items:center}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--content)}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--primary)inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul{margin-bottom:var(--content-gap)}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:var(--content-gap)}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:8px 5px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:var(--radius)}.post-content .highlight:not(table){margin:10px auto;background:var(--code-block-bg) !important;border-radius:var(--radius);direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0 !important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content code{margin:auto 4px;padding:4px 6px;font-size:.78em;line-height:1.5;background:var(--code-bg);border-radius:2px}.post-content pre code{display:grid;margin:auto 0;padding:10px;color:#d5d5d6;background:var(--code-block-bg) !important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}.post-content blockquote{margin:20px 0;padding:0 14px;border-inline-start:3px solid var(--primary)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border:0}.post-content iframe{max-width:100%}.post-content img{border-radius:4px;margin:1rem 0}.post-content img[src*=\"#center\"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--primary);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400}.toc{margin:0 2px 40px;border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius);padding:.4em}.dark .toc{background:var(--entry)}.toc details summary{cursor:zoom-in;margin-inline-start:10px;user-select:none}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:5px 20px 0;padding:0 10px;opacity:.9}.toc li ul{margin-inline-start:var(--gap)}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-footer>*{margin-bottom:10px}.post-tags{display:flex;flex-wrap:wrap;gap:10px}.post-tags li{display:inline-block}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border)}.post-tags a{display:block;padding:0 14px;color:var(--secondary);font-size:14px;line-height:34px;background:var(--code-bg)}.post-tags a:hover,.paginav a:hover{background:var(--border)}.share-buttons{padding:10px;display:flex;justify-content:center;overflow-x:auto;gap:10px}.share-buttons li,.share-buttons a{display:inline-flex}.share-buttons a:not(:last-of-type){margin-inline-end:12px}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--secondary);margin-inline-start:8px;font-weight:500;user-select:none}.paginav{display:flex;line-height:30px}.paginav a{padding-inline-start:14px;padding-inline-end:14px;border-radius:var(--radius)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}img.in-text{display:inline;margin:auto}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile .profile_inner{display:flex;flex-direction:column;align-items:center;gap:10px}.profile img{border-radius:50%}.buttons{flex-wrap:wrap;max-width:400px}.button{background:var(--tertiary);border-radius:var(--radius);margin:8px;padding:6px;transition:transform .1s}.button-inner{padding:0 8px}.button:active{transform:scale(.96)}#searchbox input{padding:4px 10px;width:100%;color:var(--primary);font-weight:700;border:2px solid var(--tertiary);border-radius:var(--radius)}#searchbox input:focus{border-color:var(--secondary)}#searchResults li{list-style:none;border-radius:var(--radius);padding:10px;margin:10px 0;position:relative;font-weight:500}#searchResults{margin:10px 0;width:100%}#searchResults li:active{transition:transform .1s;transform:scale(.98)}#searchResults a{position:absolute;width:100%;height:100%;top:0;left:0;outline:none}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;padding:3px 10px;background:var(--tertiary);border-radius:6px;transition:transform .1s}.terms-tags a:active{background:var(--tertiary);transform:scale(.96)}.bg{color:#cad3f5;background-color:#24273a}.chroma{color:#cad3f5;background-color:#24273a}.chroma .x{}.chroma .err{color:#ed8796}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .line{display:flex}.chroma .k{color:#c6a0f6}.chroma .kc{color:#f5a97f}.chroma .kd{color:#ed8796}.chroma .kn{color:#8bd5ca}.chroma .kp{color:#c6a0f6}.chroma .kr{color:#c6a0f6}.chroma .kt{color:#ed8796}.chroma .n{}.chroma .na{color:#8aadf4}.chroma .nb{color:#91d7e3}.chroma .bp{color:#91d7e3}.chroma .nc{color:#eed49f}.chroma .no{color:#eed49f}.chroma .nd{color:#8aadf4;font-weight:700}.chroma .ni{color:#8bd5ca}.chroma .ne{color:#f5a97f}.chroma .nf{color:#8aadf4}.chroma .fm{color:#8aadf4}.chroma .nl{color:#91d7e3}.chroma .nn{color:#f5a97f}.chroma .nx{}.chroma .py{color:#f5a97f}.chroma .nt{color:#c6a0f6}.chroma .nv{color:#f4dbd6}.chroma .vc{color:#f4dbd6}.chroma .vg{color:#f4dbd6}.chroma .vi{color:#f4dbd6}.chroma .vm{color:#f4dbd6}.chroma .l{}.chroma .ld{}.chroma .s{color:#a6da95}.chroma .sa{color:#ed8796}.chroma .sb{color:#a6da95}.chroma .sc{color:#a6da95}.chroma .dl{color:#8aadf4}.chroma .sd{color:#6e738d}.chroma .s2{color:#a6da95}.chroma .se{color:#8aadf4}.chroma .sh{color:#6e738d}.chroma .si{color:#a6da95}.chroma .sx{color:#a6da95}.chroma .sr{color:#8bd5ca}.chroma .s1{color:#a6da95}.chroma .ss{color:#a6da95}.chroma .m{color:#f5a97f}.chroma .mb{color:#f5a97f}.chroma .mf{color:#f5a97f}.chroma .mh{color:#f5a97f}.chroma .mi{color:#f5a97f}.chroma .il{color:#f5a97f}.chroma .mo{color:#f5a97f}.chroma .o{color:#91d7e3;font-weight:700}.chroma .ow{color:#91d7e3;font-weight:700}.chroma .p{}.chroma .c{color:#6e738d;font-style:italic}.chroma .ch{color:#6e738d;font-style:italic}.chroma .cm{color:#6e738d;font-style:italic}.chroma .c1{color:#6e738d;font-style:italic}.chroma .cs{color:#6e738d;font-style:italic}.chroma .cp{color:#6e738d;font-style:italic}.chroma .cpf{color:#6e738d;font-weight:700;font-style:italic}.chroma .g{}.chroma .gd{color:#ed8796;background-color:#363a4f}.chroma .ge{font-style:italic}.chroma .gr{color:#ed8796}.chroma .gh{color:#f5a97f;font-weight:700}.chroma .gi{color:#a6da95;background-color:#363a4f}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#f5a97f;font-weight:700}.chroma .gt{color:#ed8796}.chroma .gl{text-decoration:underline}.chroma .w{}.chroma{background-color:unset !important}.chroma .hl{display:flex}.chroma .lnt{padding:0 0 0 12px}.highlight pre.chroma code{padding:8px 0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 10px}.chroma .lntd:last-of-type{width:100%}::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}.list:not(.dark)::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--code-block-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:#adadad}.gist table::-webkit-scrollbar-thumb:hover{background:#707070}.post-content table::-webkit-scrollbar-thumb{border-width:2px}@media screen and (min-width:768px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media screen and (max-width:340px){.share-buttons{justify-content:unset}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}"
  },
  {
    "path": "public/categories/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Categories | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/categories/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/categories/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/categories/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\">\n<header class=\"page-header\">\n    <h1>Categories</h1>\n</header>\n\n<ul class=\"terms-tags\">\n</ul>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/categories/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Categories on Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/categories/</link>\n    <description>Recent content in Categories on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <atom:link href=\"http://localhost:1313/categories/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "public/cronograma/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Cronograma de Aulas | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Cronograma de Aulas – 2025.2\nDisciplina: Gerência de Configuração e Evolução de Software\nProfessora: Carla Rocha\nPeríodo: 18/08/2025 a 06/12/2025\nDias da semana: Segundas e Quartas-feiras\n\n  \n      \n          Data\n          Dia da Semana\n          Aula\n      \n  \n  \n      \n          18/08/2025\n          Segunda-feira\n          Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração\n      \n      \n          20/08/2025\n          Quarta-feira\n          Apresentação dos Projetos / Questionário de Perfil das Equipes\n      \n      \n          25/08/2025\n          Segunda-feira\n          Desenvolvimento colaborativo / Definição das equipes\n      \n      \n          27/08/2025\n          Quarta-feira\n          Revisão de Git avançado\n      \n      \n          01/09/2025\n          Segunda-feira\n          Início da configuração dos ambientes dos projetos\n      \n      \n          03/09/2025\n          Quarta-feira\n          Acompanhamento de configuração dos projetos\n      \n      \n          08/09/2025\n          Segunda-feira\n          Planejamento ágil / Backlog\n      \n      \n          10/09/2025\n          Quarta-feira\n          Automação da Build\n      \n      \n          15/09/2025\n          Segunda-feira\n          Configuração de Ambiente\n      \n      \n          17/09/2025\n          Quarta-feira\n          Release I\n      \n      \n          22/09/2025\n          Segunda-feira\n          Acompanhamento\n      \n      \n          24/09/2025\n          Quarta-feira\n          Aula: DevOps\n      \n      \n          29/09/2025\n          Segunda-feira\n          Projeto Individual\n      \n      \n          01/10/2025\n          Quarta-feira\n          Acompanhamento\n      \n      \n          06/10/2025\n          Segunda-feira\n          Aula: Isolamento de Ambiente\n      \n      \n          08/10/2025\n          Quarta-feira\n          Aula: Orquestradores / Kubernetes\n      \n      \n          13/10/2025\n          Segunda-feira\n          FERIADO – Nossa Senhora Aparecida (transferido)\n      \n      \n          15/10/2025\n          Quarta-feira\n          Enunciado do Trabalho Individual\n      \n      \n          20/10/2025\n          Segunda-feira\n          Aula: Licenças de software livre / Copyright, patentes e aspectos legais\n      \n      \n          22/10/2025\n          Quarta-feira\n          Palestra 1\n      \n      \n          27/10/2025\n          Segunda-feira\n          Release II\n      \n      \n          29/10/2025\n          Quarta-feira\n          Acompanhamento\n      \n      \n          03/11/2025\n          Segunda-feira\n          Entrega Trabalho Individual\n      \n      \n          05/11/2025\n          Quarta-feira\n          Aula: Clean Code / SOLID\n      \n      \n          10/11/2025\n          Segunda-feira\n          Acompanhamento\n      \n      \n          12/11/2025\n          Quarta-feira\n          Dívidas Técnicas dos Projetos\n      \n      \n          17/11/2025\n          Segunda-feira\n          Dívidas Técnicas dos Projetos / Fechamento\n      \n      \n          19/11/2025\n          Quarta-feira\n          Release III\n      \n      \n          24/11/2025\n          Segunda-feira\n          FERIADO – Dia da Consciência Negra (ponto facultativo)\n      \n      \n          26/11/2025\n          Quarta-feira\n          Reserva para reposição / ajustes finais\n      \n  \n\nCritérios de Avaliação\nProjeto em Grupo (70%)\n\nRelease I - 20%\nRelease II - 25%\nRelease III - 25%\n\nTrabalho Individual (30%)\n\nTrabalho Individual - 30%\n\nObservações\n\nAs datas podem sofrer alterações conforme necessário\nAcompanhe os anúncios para possíveis mudanças no cronograma\nReleases são marcos importantes de entrega dos projetos\n\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/cronograma/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/cronograma/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/cronograma/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span class=\"active\">Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\"> \n<header class=\"page-header\"><div class=\"breadcrumbs\"><a href=\"http://localhost:1313/\">Home</a></div>\n  <h1>\n    Cronograma de Aulas\n    <a href=\"/cronograma/index.xml\" title=\"RSS\" aria-label=\"RSS\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n        stroke-linecap=\"round\" stroke-linejoin=\"round\" height=\"23\">\n        <path d=\"M4 11a9 9 0 0 1 9 9\" />\n        <path d=\"M4 4a16 16 0 0 1 16 16\" />\n        <circle cx=\"5\" cy=\"19\" r=\"1\" />\n      </svg>\n    </a>\n  </h1>\n</header>\n<div class=\"post-content\"><h1 id=\"cronograma-de-aulas--20252\">Cronograma de Aulas – 2025.2<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#cronograma-de-aulas--20252\">#</a></h1>\n<p><strong>Disciplina:</strong> Gerência de Configuração e Evolução de Software<br>\n<strong>Professora:</strong> Carla Rocha<br>\n<strong>Período:</strong> 18/08/2025 a 06/12/2025<br>\n<strong>Dias da semana:</strong> Segundas e Quartas-feiras</p>\n<table>\n  <thead>\n      <tr>\n          <th>Data</th>\n          <th>Dia da Semana</th>\n          <th>Aula</th>\n      </tr>\n  </thead>\n  <tbody>\n      <tr>\n          <td>18/08/2025</td>\n          <td>Segunda-feira</td>\n          <td>Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração</td>\n      </tr>\n      <tr>\n          <td>20/08/2025</td>\n          <td>Quarta-feira</td>\n          <td>Apresentação dos Projetos / Questionário de Perfil das Equipes</td>\n      </tr>\n      <tr>\n          <td>25/08/2025</td>\n          <td>Segunda-feira</td>\n          <td>Desenvolvimento colaborativo / Definição das equipes</td>\n      </tr>\n      <tr>\n          <td>27/08/2025</td>\n          <td>Quarta-feira</td>\n          <td>Revisão de Git avançado</td>\n      </tr>\n      <tr>\n          <td>01/09/2025</td>\n          <td>Segunda-feira</td>\n          <td>Início da configuração dos ambientes dos projetos</td>\n      </tr>\n      <tr>\n          <td>03/09/2025</td>\n          <td>Quarta-feira</td>\n          <td>Acompanhamento de configuração dos projetos</td>\n      </tr>\n      <tr>\n          <td>08/09/2025</td>\n          <td>Segunda-feira</td>\n          <td>Planejamento ágil / Backlog</td>\n      </tr>\n      <tr>\n          <td>10/09/2025</td>\n          <td>Quarta-feira</td>\n          <td>Automação da Build</td>\n      </tr>\n      <tr>\n          <td>15/09/2025</td>\n          <td>Segunda-feira</td>\n          <td>Configuração de Ambiente</td>\n      </tr>\n      <tr>\n          <td>17/09/2025</td>\n          <td>Quarta-feira</td>\n          <td><strong>Release I</strong></td>\n      </tr>\n      <tr>\n          <td>22/09/2025</td>\n          <td>Segunda-feira</td>\n          <td>Acompanhamento</td>\n      </tr>\n      <tr>\n          <td>24/09/2025</td>\n          <td>Quarta-feira</td>\n          <td>Aula: DevOps</td>\n      </tr>\n      <tr>\n          <td>29/09/2025</td>\n          <td>Segunda-feira</td>\n          <td>Projeto Individual</td>\n      </tr>\n      <tr>\n          <td>01/10/2025</td>\n          <td>Quarta-feira</td>\n          <td>Acompanhamento</td>\n      </tr>\n      <tr>\n          <td>06/10/2025</td>\n          <td>Segunda-feira</td>\n          <td>Aula: Isolamento de Ambiente</td>\n      </tr>\n      <tr>\n          <td>08/10/2025</td>\n          <td>Quarta-feira</td>\n          <td>Aula: Orquestradores / Kubernetes</td>\n      </tr>\n      <tr>\n          <td>13/10/2025</td>\n          <td>Segunda-feira</td>\n          <td><strong>FERIADO</strong> – Nossa Senhora Aparecida (transferido)</td>\n      </tr>\n      <tr>\n          <td>15/10/2025</td>\n          <td>Quarta-feira</td>\n          <td>Enunciado do Trabalho Individual</td>\n      </tr>\n      <tr>\n          <td>20/10/2025</td>\n          <td>Segunda-feira</td>\n          <td>Aula: Licenças de software livre / Copyright, patentes e aspectos legais</td>\n      </tr>\n      <tr>\n          <td>22/10/2025</td>\n          <td>Quarta-feira</td>\n          <td>Palestra 1</td>\n      </tr>\n      <tr>\n          <td>27/10/2025</td>\n          <td>Segunda-feira</td>\n          <td><strong>Release II</strong></td>\n      </tr>\n      <tr>\n          <td>29/10/2025</td>\n          <td>Quarta-feira</td>\n          <td>Acompanhamento</td>\n      </tr>\n      <tr>\n          <td>03/11/2025</td>\n          <td>Segunda-feira</td>\n          <td>Entrega Trabalho Individual</td>\n      </tr>\n      <tr>\n          <td>05/11/2025</td>\n          <td>Quarta-feira</td>\n          <td>Aula: Clean Code / SOLID</td>\n      </tr>\n      <tr>\n          <td>10/11/2025</td>\n          <td>Segunda-feira</td>\n          <td>Acompanhamento</td>\n      </tr>\n      <tr>\n          <td>12/11/2025</td>\n          <td>Quarta-feira</td>\n          <td>Dívidas Técnicas dos Projetos</td>\n      </tr>\n      <tr>\n          <td>17/11/2025</td>\n          <td>Segunda-feira</td>\n          <td>Dívidas Técnicas dos Projetos / Fechamento</td>\n      </tr>\n      <tr>\n          <td>19/11/2025</td>\n          <td>Quarta-feira</td>\n          <td><strong>Release III</strong></td>\n      </tr>\n      <tr>\n          <td>24/11/2025</td>\n          <td>Segunda-feira</td>\n          <td><strong>FERIADO</strong> – Dia da Consciência Negra (ponto facultativo)</td>\n      </tr>\n      <tr>\n          <td>26/11/2025</td>\n          <td>Quarta-feira</td>\n          <td>Reserva para reposição / ajustes finais</td>\n      </tr>\n  </tbody>\n</table>\n<h2 id=\"critérios-de-avaliação\">Critérios de Avaliação<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#critérios-de-avaliação\">#</a></h2>\n<h3 id=\"projeto-em-grupo-70\">Projeto em Grupo (70%)<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#projeto-em-grupo-70\">#</a></h3>\n<ul>\n<li><strong>Release I</strong> - 20%</li>\n<li><strong>Release II</strong> - 25%</li>\n<li><strong>Release III</strong> - 25%</li>\n</ul>\n<h3 id=\"trabalho-individual-30\">Trabalho Individual (30%)<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#trabalho-individual-30\">#</a></h3>\n<ul>\n<li><strong>Trabalho Individual</strong> - 30%</li>\n</ul>\n<h2 id=\"observações\">Observações<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#observações\">#</a></h2>\n<ul>\n<li>As datas podem sofrer alterações conforme necessário</li>\n<li>Acompanhe os anúncios para possíveis mudanças no cronograma</li>\n<li>Releases são marcos importantes de entrega dos projetos</li>\n</ul>\n\n\n</div>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/cronograma/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Cronograma de Aulas on Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/cronograma/</link>\n    <description>Recent content in Cronograma de Aulas on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <lastBuildDate></lastBuildDate>\n    <atom:link href=\"http://localhost:1313/cronograma/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "public/cronograma/page/1/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"pt-br\">\n  <head>\n    <title>http://localhost:1313/cronograma/</title>\n    <link rel=\"canonical\" href=\"http://localhost:1313/cronograma/\">\n    <meta name=\"robots\" content=\"noindex\">\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"refresh\" content=\"0; url=http://localhost:1313/cronograma/\">\n  </head>\n</html>\n"
  },
  {
    "path": "public/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head>\n\t<meta name=\"generator\" content=\"Hugo 0.148.2\"><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Gerência de Configuração e Evolução de Software</title>\n\n<meta name=\"description\" content=\"Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span class=\"active\">Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\"> \n<div class=\"post-content\"><h1 id=\"gerência-de-configuração-e-evolução-de-software\">Gerência de Configuração e Evolução de Software<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#gerência-de-configuração-e-evolução-de-software\">#</a></h1>\n<p>Bem-vindos à disciplina de <strong>Gerência de Configuração e Evolução de Software</strong> da UnB/FGA.</p>\n<h2 id=\"sobre-a-disciplina\">Sobre a Disciplina<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#sobre-a-disciplina\">#</a></h2>\n<p>Esta disciplina aborda os principais conceitos e práticas de gerência de configuração e evolução de software, incluindo:</p>\n<ul>\n<li>Identificação de configuração (itens e linha-base)</li>\n<li>Controle de mudanças e versões</li>\n<li>Integração e entrega contínua</li>\n<li>Monitoramento do desenvolvimento de software</li>\n<li>Gerenciamento do processo de construção/build</li>\n<li>Pacotes e dependência de software</li>\n<li>Princípios e técnicas de manutenção de software</li>\n<li>Sustentação de software</li>\n</ul>\n<h2 id=\"professora\">Professora<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#professora\">#</a></h2>\n<p><strong>Prof. Carla Rocha</strong></p>\n<h2 id=\"navegação\">Navegação<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#navegação\">#</a></h2>\n<ul>\n<li><a href=\"/cronograma/\">📅 Cronograma de Aulas</a></li>\n<li><a href=\"/slides/\">📊 Slides das Aulas</a></li>\n<li><a href=\"/projetos/\">🚀 Projetos</a></li>\n</ul>\n<h2 id=\"período-atual-20252\">Período Atual: 2025.2<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#período-atual-20252\">#</a></h2>\n<p><strong>Período:</strong> 18/08/2025 a 06/12/2025<br>\n<strong>Dias da semana:</strong> Segundas e Quartas-feiras</p>\n<h2 id=\"avaliação\">Avaliação<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#avaliação\">#</a></h2>\n<p>A disciplina é composta por:</p>\n<ul>\n<li><strong>Projeto em Grupo</strong> (70% da nota)</li>\n<li><strong>Trabalho Individual</strong> (30% da nota)</li>\n</ul>\n<p>Para mais detalhes sobre a metodologia e critérios de avaliação, consulte o cronograma completo.</p>\n\n\n</div>\n<article class=\"first-entry home-info\">\n    <header class=\"entry-header\">\n        <h1>Gerência de Configuração e Evolução de Software</h1>\n    </header>\n    <div class=\"entry-content\">\n        Bem-vindos à disciplina de Gerência de Configuração e Evolução de Software da UnB/FGA. Aqui você encontrará todo o material do curso, incluindo slides, projetos e cronograma de aulas.\n    </div>\n    <footer class=\"entry-footer\">\n        <div class=\"social-icons\" >\n    <a href=\"https://github.com/fga-gces/A-disciplina\" target=\"_blank\" rel=\"noopener noreferrer me\"\n        title=\"Github\">\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n    stroke-linecap=\"round\" stroke-linejoin=\"round\">\n    <path\n        d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\">\n    </path>\n</svg>\n    </a>\n</div>\n\n    </footer>\n</article>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/</link>\n    <description>Recent content on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <lastBuildDate></lastBuildDate>\n    <atom:link href=\"http://localhost:1313/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "public/page/1/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"pt-br\">\n  <head>\n    <title>http://localhost:1313/</title>\n    <link rel=\"canonical\" href=\"http://localhost:1313/\">\n    <meta name=\"robots\" content=\"noindex\">\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"refresh\" content=\"0; url=http://localhost:1313/\">\n  </head>\n</html>\n"
  },
  {
    "path": "public/projetos/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Projetos | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Projetos da Disciplina\nEsta seção contém informações sobre os projetos desenvolvidos ao longo dos semestres na disciplina de Gerência de Configuração e Evolução de Software.\nProjetos por Semestre\n2025.1\n\n🚀 Projetos 2025.1 - Turma Renato\n\n2025.2\n\n🚀 Projetos 2025.2\n\n2024\n\n🚀 Projetos 2024.1\n🚀 Projetos 2024.2\n\n2023\n\n🚀 Projetos 2023.1\n🚀 Projetos 2023.2\n\n2022\n\n🚀 Projetos 2022.1 - Turma T02\n🚀 Projetos 2022.2 - Turma T01\n\n2021\n\n🚀 Projetos 2021.1\n🚀 Projetos 2021.2\n📊 Resultados dos grupos 2021.2\n\nTrabalho Individual\nExemplo de Projeto Individual\n\n📝 Projeto Individual Carla 2023.1\n\nMetodologia dos Projetos\nOs projetos da disciplina seguem uma metodologia baseada em:\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/projetos/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/projetos/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/projetos/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span class=\"active\">Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\"> \n<header class=\"page-header\"><div class=\"breadcrumbs\"><a href=\"http://localhost:1313/\">Home</a></div>\n  <h1>\n    Projetos\n    <a href=\"/projetos/index.xml\" title=\"RSS\" aria-label=\"RSS\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n        stroke-linecap=\"round\" stroke-linejoin=\"round\" height=\"23\">\n        <path d=\"M4 11a9 9 0 0 1 9 9\" />\n        <path d=\"M4 4a16 16 0 0 1 16 16\" />\n        <circle cx=\"5\" cy=\"19\" r=\"1\" />\n      </svg>\n    </a>\n  </h1>\n</header>\n<div class=\"post-content\"><h1 id=\"projetos-da-disciplina\">Projetos da Disciplina<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#projetos-da-disciplina\">#</a></h1>\n<p>Esta seção contém informações sobre os projetos desenvolvidos ao longo dos semestres na disciplina de Gerência de Configuração e Evolução de Software.</p>\n<h2 id=\"projetos-por-semestre\">Projetos por Semestre<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#projetos-por-semestre\">#</a></h2>\n<h3 id=\"20251\">2025.1<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#20251\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2025_1_Turma_Renato.md\">🚀 Projetos 2025.1 - Turma Renato</a></li>\n</ul>\n<h3 id=\"20252\">2025.2<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#20252\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2025_2.md\">🚀 Projetos 2025.2</a></li>\n</ul>\n<h3 id=\"2024\">2024<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#2024\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2024_1.md\">🚀 Projetos 2024.1</a></li>\n<li><a href=\"../Projetos_2024_2.md\">🚀 Projetos 2024.2</a></li>\n</ul>\n<h3 id=\"2023\">2023<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#2023\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2023_1.md\">🚀 Projetos 2023.1</a></li>\n<li><a href=\"../Projetos_2023_2.md\">🚀 Projetos 2023.2</a></li>\n</ul>\n<h3 id=\"2022\">2022<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#2022\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2022_1_Turma_T02.md\">🚀 Projetos 2022.1 - Turma T02</a></li>\n<li><a href=\"../Projetos_2022_2_Turma_T01.md\">🚀 Projetos 2022.2 - Turma T01</a></li>\n</ul>\n<h3 id=\"2021\">2021<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#2021\">#</a></h3>\n<ul>\n<li><a href=\"../Projetos_2021_1.md\">🚀 Projetos 2021.1</a></li>\n<li><a href=\"../Projetos_2021_2.md\">🚀 Projetos 2021.2</a></li>\n<li><a href=\"../Resultados%20dos%20grupos%202021_2.md\">📊 Resultados dos grupos 2021.2</a></li>\n</ul>\n<h2 id=\"trabalho-individual\">Trabalho Individual<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#trabalho-individual\">#</a></h2>\n<h3 id=\"exemplo-de-projeto-individual\">Exemplo de Projeto Individual<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#exemplo-de-projeto-individual\">#</a></h3>\n<ul>\n<li><a href=\"../ProjetoIndividualCarla2023-1.md\">📝 Projeto Individual Carla 2023.1</a></li>\n</ul>\n<h2 id=\"metodologia-dos-projetos\">Metodologia dos Projetos<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#metodologia-dos-projetos\">#</a></h2>\n<p>Os projetos da disciplina seguem uma metodologia baseada em:</p>\n<ol>\n<li><strong>Desenvolvimento Colaborativo</strong>: Trabalho em equipes utilizando práticas de desenvolvimento ágil</li>\n<li><strong>Releases Incrementais</strong>: Entregas em marcos específicos (Release I, II e III)</li>\n<li><strong>Integração Contínua</strong>: Implementação de pipelines de CI/CD</li>\n<li><strong>Configuração de Ambiente</strong>: Setup de ambientes de desenvolvimento e produção</li>\n<li><strong>Qualidade de Software</strong>: Aplicação de princípios de código limpo e SOLID</li>\n</ol>\n<h2 id=\"critérios-de-avaliação\">Critérios de Avaliação<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#critérios-de-avaliação\">#</a></h2>\n<h3 id=\"projeto-em-grupo-70\">Projeto em Grupo (70%)<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#projeto-em-grupo-70\">#</a></h3>\n<ul>\n<li><strong>Release I</strong> (20%): Configuração inicial e setup do projeto</li>\n<li><strong>Release II</strong> (25%): Implementação de funcionalidades core</li>\n<li><strong>Release III</strong> (25%): Finalização e entrega completa</li>\n</ul>\n<h3 id=\"trabalho-individual-30\">Trabalho Individual (30%)<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#trabalho-individual-30\">#</a></h3>\n<ul>\n<li>Projeto individual focado em aspectos específicos da disciplina</li>\n</ul>\n<h2 id=\"recursos-adicionais\">Recursos Adicionais<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#recursos-adicionais\">#</a></h2>\n<ul>\n<li><a href=\"../cheklists.md\">📋 Checklists</a> - Lista de verificação para os projetos</li>\n<li><a href=\"../plano-ensino-carla.md\">📚 Plano de Ensino</a> - Detalhes completos da disciplina</li>\n</ul>\n<h2 id=\"observações\">Observações<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#observações\">#</a></h2>\n<ul>\n<li>Todos os projetos devem ser desenvolvidos utilizando controle de versão (Git)</li>\n<li>É obrigatório o uso de práticas de integração contínua</li>\n<li>Os projetos devem demonstrar a aplicação dos conceitos aprendidos em aula</li>\n</ul>\n\n\n</div>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/projetos/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Projetos on Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/projetos/</link>\n    <description>Recent content in Projetos on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <lastBuildDate></lastBuildDate>\n    <atom:link href=\"http://localhost:1313/projetos/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "public/projetos/page/1/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"pt-br\">\n  <head>\n    <title>http://localhost:1313/projetos/</title>\n    <link rel=\"canonical\" href=\"http://localhost:1313/projetos/\">\n    <meta name=\"robots\" content=\"noindex\">\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"refresh\" content=\"0; url=http://localhost:1313/projetos/\">\n  </head>\n</html>\n"
  },
  {
    "path": "public/sitemap.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n  xmlns:xhtml=\"http://www.w3.org/1999/xhtml\">\n  <url>\n    <loc>http://localhost:1313/cronograma/</loc>\n    <lastmod>2025-08-14T00:00:00+00:00</lastmod>\n  </url><url>\n    <loc>http://localhost:1313/</loc>\n    <lastmod>2025-08-14T00:00:00+00:00</lastmod>\n  </url><url>\n    <loc>http://localhost:1313/projetos/</loc>\n    <lastmod>2025-08-14T00:00:00+00:00</lastmod>\n  </url><url>\n    <loc>http://localhost:1313/slides/</loc>\n    <lastmod>2025-08-14T00:00:00+00:00</lastmod>\n  </url><url>\n    <loc>http://localhost:1313/categories/</loc>\n  </url><url>\n    <loc>http://localhost:1313/tags/</loc>\n  </url>\n</urlset>\n"
  },
  {
    "path": "public/slides/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Slides das Aulas | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Slides das Aulas\nAqui você encontra todos os slides utilizados nas aulas da disciplina de Gerência de Configuração e Evolução de Software.\nMaterial Disponível\nConceitos Fundamentais\n\n📊 Conceitos de GCS - Introdução\n📊 Controle de Versão\n📊 Integração Contínua\n\nFerramentas e Práticas\n\n📊 Git - Controle de Versão\n📊 Automação da Build\n📊 Automação da Configuração do Ambiente\n\nDevOps e Infraestrutura\n\n📊 DevOps\n📊 Isolamento de Ambiente - Docker\n📊 Gerência De Configuração de Software &amp; Integração Contínua\n\nQualidade de Software\n\n📊 Clean Code - Slides\n📊 SOLID - Princípios\n📊 Código Limpo - Artigos WSL2012\n📊 Código Limpo - Monografia\n\nAspectos Legais\n\n📊 Licenças - Software Livre\n\nComo Usar\n\nClique nos links acima para baixar os slides\nOs slides estão em formato PDF\nRecomenda-se revisar os slides antes e depois das aulas\nUse os slides como material de apoio para os projetos\n\nObservações\n\nTodos os slides são de autoria da Prof. Carla Rocha\nMaterial atualizado regularmente conforme o andamento do curso\nPara dúvidas sobre o conteúdo, utilize os canais de comunicação da disciplina\n\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/slides/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/slides/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/slides/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span class=\"active\">Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\"> \n<header class=\"page-header\"><div class=\"breadcrumbs\"><a href=\"http://localhost:1313/\">Home</a></div>\n  <h1>\n    Slides das Aulas\n    <a href=\"/slides/index.xml\" title=\"RSS\" aria-label=\"RSS\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n        stroke-linecap=\"round\" stroke-linejoin=\"round\" height=\"23\">\n        <path d=\"M4 11a9 9 0 0 1 9 9\" />\n        <path d=\"M4 4a16 16 0 0 1 16 16\" />\n        <circle cx=\"5\" cy=\"19\" r=\"1\" />\n      </svg>\n    </a>\n  </h1>\n</header>\n<div class=\"post-content\"><h1 id=\"slides-das-aulas\">Slides das Aulas<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#slides-das-aulas\">#</a></h1>\n<p>Aqui você encontra todos os slides utilizados nas aulas da disciplina de Gerência de Configuração e Evolução de Software.</p>\n<h2 id=\"material-disponível\">Material Disponível<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#material-disponível\">#</a></h2>\n<h3 id=\"conceitos-fundamentais\">Conceitos Fundamentais<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#conceitos-fundamentais\">#</a></h3>\n<ul>\n<li><a href=\"../slides/01%20-%20Conceitos%20de%20GCS%20-%20Introdu%C3%A7%C3%A3o.pdf\">📊 Conceitos de GCS - Introdução</a></li>\n<li><a href=\"../slides/02%20-%20Controle%20de%20Vers%C3%A3o.pdf\">📊 Controle de Versão</a></li>\n<li><a href=\"../slides/03%20-%20Continous%20Integration.pdf\">📊 Integração Contínua</a></li>\n</ul>\n<h3 id=\"ferramentas-e-práticas\">Ferramentas e Práticas<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#ferramentas-e-práticas\">#</a></h3>\n<ul>\n<li><a href=\"../slides/2020-04-02_git.pdf\">📊 Git - Controle de Versão</a></li>\n<li><a href=\"../slides/Automa%C3%A7%C3%A3o%20da%20Build.pdf\">📊 Automação da Build</a></li>\n<li><a href=\"../slides/Automa%C3%A7%C3%A3o%20da%20Configura%C3%A7%C3%A3o%20do%20Ambiente.pdf\">📊 Automação da Configuração do Ambiente</a></li>\n</ul>\n<h3 id=\"devops-e-infraestrutura\">DevOps e Infraestrutura<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#devops-e-infraestrutura\">#</a></h3>\n<ul>\n<li><a href=\"../slides/2020-04-16_DevOps.pdf\">📊 DevOps</a></li>\n<li><a href=\"../slides/Isolamento%20de%20Ambiente%20-%20Docker.pdf\">📊 Isolamento de Ambiente - Docker</a></li>\n<li><a href=\"../slides/Ger%C3%AAncia%20De%20Configura%C3%A7%C3%A3o%20de%20Software%20&amp;%20Integra%C3%A7%C3%A3o%20Cont%C3%ADnua.pdf\">📊 Gerência De Configuração de Software &amp; Integração Contínua</a></li>\n</ul>\n<h3 id=\"qualidade-de-software\">Qualidade de Software<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#qualidade-de-software\">#</a></h3>\n<ul>\n<li><a href=\"../slides/Slides%20-%20Clean%20Code.pdf\">📊 Clean Code - Slides</a></li>\n<li><a href=\"../slides/Slides%20-%20SOLID.pdf\">📊 SOLID - Princípios</a></li>\n<li><a href=\"../slides/Codigo%20Limpo%20-%20Artigos-WSL2012.pdf\">📊 Código Limpo - Artigos WSL2012</a></li>\n<li><a href=\"../slides/Codigo%20Limpo%20-%20Monografia.pdf\">📊 Código Limpo - Monografia</a></li>\n</ul>\n<h3 id=\"aspectos-legais\">Aspectos Legais<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#aspectos-legais\">#</a></h3>\n<ul>\n<li><a href=\"../slides/Licen%C3%A7as%20-%20Software%20Livre.pdf\">📊 Licenças - Software Livre</a></li>\n</ul>\n<h2 id=\"como-usar\">Como Usar<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#como-usar\">#</a></h2>\n<ol>\n<li>Clique nos links acima para baixar os slides</li>\n<li>Os slides estão em formato PDF</li>\n<li>Recomenda-se revisar os slides antes e depois das aulas</li>\n<li>Use os slides como material de apoio para os projetos</li>\n</ol>\n<h2 id=\"observações\">Observações<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#observações\">#</a></h2>\n<ul>\n<li>Todos os slides são de autoria da Prof. Carla Rocha</li>\n<li>Material atualizado regularmente conforme o andamento do curso</li>\n<li>Para dúvidas sobre o conteúdo, utilize os canais de comunicação da disciplina</li>\n</ul>\n\n\n</div>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/slides/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Slides das Aulas on Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/slides/</link>\n    <description>Recent content in Slides das Aulas on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <lastBuildDate></lastBuildDate>\n    <atom:link href=\"http://localhost:1313/slides/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "public/slides/page/1/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"pt-br\">\n  <head>\n    <title>http://localhost:1313/slides/</title>\n    <link rel=\"canonical\" href=\"http://localhost:1313/slides/\">\n    <meta name=\"robots\" content=\"noindex\">\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"refresh\" content=\"0; url=http://localhost:1313/slides/\">\n  </head>\n</html>\n"
  },
  {
    "path": "public/tags/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" dir=\"auto\">\n\n<head><script src=\"/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload\" data-no-instant defer></script><meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<title>Tags | Gerência de Configuração e Evolução de Software</title>\n<meta name=\"keywords\" content=\"\">\n<meta name=\"description\" content=\"Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA\">\n<meta name=\"author\" content=\"Prof. Carla Rocha\">\n<link rel=\"canonical\" href=\"http://localhost:1313/tags/\">\n<link crossorigin=\"anonymous\" href=\"/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css\" integrity=\"sha256-j&#43;ECM6cGvIfy4Is8&#43;XuL1MCoDxBnWhQ2ddWSEhIQN8A=\" rel=\"preload stylesheet\" as=\"style\">\n<link rel=\"icon\" href=\"http://localhost:1313/favicon.ico\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"http://localhost:1313/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"http://localhost:1313/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" href=\"http://localhost:1313/apple-touch-icon.png\">\n<link rel=\"mask-icon\" href=\"http://localhost:1313/safari-pinned-tab.svg\">\n<meta name=\"theme-color\" content=\"#2e2e33\">\n<meta name=\"msapplication-TileColor\" content=\"#2e2e33\">\n<link rel=\"alternate\" type=\"application/rss+xml\" href=\"http://localhost:1313/tags/index.xml\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://localhost:1313/tags/\">\n<noscript>\n    <style>\n        #theme-toggle,\n        .top-link {\n            display: none;\n        }\n\n    </style>\n    <style>\n        @media (prefers-color-scheme: dark) {\n            :root {\n                --theme: rgb(29, 30, 32);\n                --entry: rgb(46, 46, 51);\n                --primary: rgb(218, 218, 219);\n                --secondary: rgb(155, 156, 157);\n                --tertiary: rgb(65, 66, 68);\n                --content: rgb(196, 196, 197);\n                --code-block-bg: rgb(46, 46, 51);\n                --code-bg: rgb(55, 56, 62);\n                --border: rgb(51, 51, 51);\n            }\n\n            .list {\n                background: var(--theme);\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-track {\n                background: 0 0;\n            }\n\n            .list:not(.dark)::-webkit-scrollbar-thumb {\n                border-color: var(--theme);\n            }\n        }\n\n    </style>\n</noscript>\n</head>\n\n<body class=\"list\" id=\"top\">\n<script>\n    if (localStorage.getItem(\"pref-theme\") === \"dark\") {\n        document.body.classList.add('dark');\n    } else if (localStorage.getItem(\"pref-theme\") === \"light\") {\n        document.body.classList.remove('dark')\n    } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n        document.body.classList.add('dark');\n    }\n\n</script>\n\n<header class=\"header\">\n    <nav class=\"nav\">\n        <div class=\"logo\">\n            <a href=\"http://localhost:1313/\" accesskey=\"h\" title=\"Gerência de Configuração e Evolução de Software (Alt + H)\">Gerência de Configuração e Evolução de Software</a>\n            <div class=\"logo-switches\">\n                <button id=\"theme-toggle\" accesskey=\"t\" title=\"(Alt + T)\" aria-label=\"Toggle theme\">\n                    <svg id=\"moon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>\n                    </svg>\n                    <svg id=\"sun\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"18\" viewBox=\"0 0 24 24\"\n                        fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\">\n                        <circle cx=\"12\" cy=\"12\" r=\"5\"></circle>\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line>\n                        <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line>\n                        <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line>\n                        <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line>\n                        <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line>\n                        <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line>\n                        <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line>\n                        <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>\n                    </svg>\n                </button>\n            </div>\n        </div>\n        <ul id=\"menu\">\n            <li>\n                <a href=\"http://localhost:1313/\" title=\"Início\">\n                    <span>Início</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/cronograma/\" title=\"Cronograma\">\n                    <span>Cronograma</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/slides/\" title=\"Slides\">\n                    <span>Slides</span>\n                </a>\n            </li>\n            <li>\n                <a href=\"http://localhost:1313/projetos/\" title=\"Projetos\">\n                    <span>Projetos</span>\n                </a>\n            </li>\n        </ul>\n    </nav>\n</header>\n<main class=\"main\">\n<header class=\"page-header\">\n    <h1>Tags</h1>\n</header>\n\n<ul class=\"terms-tags\">\n</ul>\n    </main>\n    \n<footer class=\"footer\">\n        <span>&copy; 2025 <a href=\"http://localhost:1313/\">Gerência de Configuração e Evolução de Software</a></span> · \n\n    <span>\n        Powered by\n        <a href=\"https://gohugo.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Hugo</a> &\n        <a href=\"https://github.com/adityatelange/hugo-PaperMod/\" rel=\"noopener\" target=\"_blank\">PaperMod</a>\n    </span>\n</footer>\n<a href=\"#top\" aria-label=\"go to top\" title=\"Go to Top (Alt + G)\" class=\"top-link\" id=\"top-link\" accesskey=\"g\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 6\" fill=\"currentColor\">\n        <path d=\"M12 6H0l6-6z\" />\n    </svg>\n</a>\n\n<script>\n    let menu = document.getElementById('menu')\n    if (menu) {\n        menu.scrollLeft = localStorage.getItem(\"menu-scroll-position\");\n        menu.onscroll = function () {\n            localStorage.setItem(\"menu-scroll-position\", menu.scrollLeft);\n        }\n    }\n\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            var id = this.getAttribute(\"href\").substr(1);\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({\n                    behavior: \"smooth\"\n                });\n            } else {\n                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();\n            }\n            if (id === \"top\") {\n                history.replaceState(null, null, \" \");\n            } else {\n                history.pushState(null, null, `#${id}`);\n            }\n        });\n    });\n\n</script>\n<script>\n    var mybutton = document.getElementById(\"top-link\");\n    window.onscroll = function () {\n        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {\n            mybutton.style.visibility = \"visible\";\n            mybutton.style.opacity = \"1\";\n        } else {\n            mybutton.style.visibility = \"hidden\";\n            mybutton.style.opacity = \"0\";\n        }\n    };\n\n</script>\n<script>\n    document.getElementById(\"theme-toggle\").addEventListener(\"click\", () => {\n        if (document.body.className.includes(\"dark\")) {\n            document.body.classList.remove('dark');\n            localStorage.setItem(\"pref-theme\", 'light');\n        } else {\n            document.body.classList.add('dark');\n            localStorage.setItem(\"pref-theme\", 'dark');\n        }\n    })\n\n</script>\n</body>\n\n</html>\n"
  },
  {
    "path": "public/tags/index.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n  <channel>\n    <title>Tags on Gerência de Configuração e Evolução de Software</title>\n    <link>http://localhost:1313/tags/</link>\n    <description>Recent content in Tags on Gerência de Configuração e Evolução de Software</description>\n    <generator>Hugo -- 0.148.2</generator>\n    <language>pt-br</language>\n    <atom:link href=\"http://localhost:1313/tags/index.xml\" rel=\"self\" type=\"application/rss+xml\" />\n  </channel>\n</rss>\n"
  },
  {
    "path": "slides/Readme.md",
    "content": "# Slides\n\nOs slides apresentados em sala de aula, assim como material de apoio são disponibilizadas na pasta.\n"
  },
  {
    "path": "template-relatorio.md",
    "content": "\n# 📝 Relatório de Contribuição – Sprint X\n\n**Disciplina:** Gestão de Configuração e Evolução de Software\n**Equipe:** \\[Nome/Identificação da equipe]\n**Comunidade/Projeto de Software Livre:** \\[Nome do projeto/comunidade]\n**Período da Sprint:** \\[Data início – Data fim]\n\n---\n\n## 1. Objetivos da Sprint\n\n* [ ] Objetivo 1 planejado\n* [ ] Objetivo 2 planejado\n* [ ] Objetivo 3 planejado\n\n---\n\n## 2. Entregas Coletivas\n\n| Entrega             | Status (Concluído/Parcial/Pendente) | Link/Referência        | Observações                       |\n| ------------------- | ----------------------------------- | ---------------------- | --------------------------------- |\n| \\[Funcionalidade X] | Concluído                           | \\[link para PR/issue]  | Impacto na comunidade             |\n| \\[Documento Y]      | Parcial                             | \\[link para wiki/repo] | Necessita revisão                 |\n| \\[Teste Z]          | Pendente                            | –                      | Bloqueado por dependência externa |\n\n---\n\n## 3. Contribuições Individuais\n\n| Integrante | Contribuições                             | Links (PRs, Issues, Docs) | Observações |\n| ---------- | ----------------------------------------- | ------------------------- | ----------- |\n| Nome 1     | Implementou \\[feature], abriu \\[X issues] | \\[link PR] \\[link issue]  |             |\n| Nome 2     | Revisou PRs, documentou \\[tópico]         | \\[link doc]               |             |\n| Nome 3     | Desenvolveu script de automação           | \\[link repo]              |             |\n\n---\n\n## 4. Maiores Avanços\n\n✨ **Destaques da Sprint:**\n\n* \\[Exemplo] Integração bem-sucedida de novo módulo no projeto principal.\n* \\[Exemplo] Equipe estabeleceu fluxo de contribuição alinhado às práticas da comunidade.\n\n---\n\n## 5. Maiores Dificuldades\n\n**Principais desafios enfrentados:**\n\n* \\[Exemplo] Barreiras de comunicação com mantenedores da comunidade.\n* \\[Exemplo] Dificuldade técnica em compreender dependência \\[X].\n* \\[Exemplo] Problemas de coordenação de tempo entre membros.\n\n---\n\n## 6. Lições Aprendidas\n\n* \\[Exemplo] Importância de abrir issues detalhadas para facilitar revisão.\n* \\[Exemplo] Planejamento coletivo ajudou a reduzir retrabalho.\n\n---\n\n## 7. Planejamento para a Próxima Sprint\n\n* [ ] Implementar \\[funcionalidade]\n* [ ] Ampliar cobertura de testes\n* [ ] Melhorar documentação do processo de contribuição\n"
  }
]