[
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2022 Gabriel Ávila Rangel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Roadmap Back-end 2023\n\n✅ Aprenda a programar do zero ao profissional: https://mapadaprogramacao.com.br/\n<br/>\n⭐ Não deixe de deixar o seu start no repositório.\n\n## 1. Como funciona a internet?\n- Pesquisar artigos e vídeos de como funciona a internet\n- O que é HTTP\n- Funcionamento de um browser\n- DNS\n- Hosting\n\n## 2. Lógica de Programação\n\nAntes de ir para linguagem de programação e passar para o roadmap de qualquer uma das áreas, o ideal é que você estude a lógica de programação, que irá treinar o seu raciocínio para resolução de problemas através de pseudo códigos. Existem diversas formas de se estudar essa matéria, mas minha indicação é  que você estude através de algoritmos em Portugol.\n\n[](https://portugol-webstudio.cubos.io/)\n\nSequência de estudos:\n\n1. Variáveis, Comandos de entrada e de saída\n2. Operadores Aritméticos\n3. Operadores Relacionais\n4. Operadores Lógicos\n5. Estruturas Condicionais\n6. Estruturas de Repetição\n7. Funções\n8. Vetores\n9. Matriz\n\n## 3. JavaScript\n\n1. Sintaxe e Variáveis\n2. Comandos de entrada e saída (Dica: biblioteca prompt-sync)\n3. Operadores Matemáticos\n4. Operadores de Comparação\n5. Operadores Lógicos\n6. Estruturas de Condição\n7. Funções\n8. Objetos\n9. Arrays\n10. Interação com Arrays\n11. Métodos de cada tipo de variável\n12. Datas\n13. Promises\n\n### Package Managers\n\n- npm: [https://www.npmjs.com/](https://www.npmjs.com/)\n- yarn: [https://yarnpkg.com/](https://yarnpkg.com/)\n\n\n## 4. Git e Github\n\n- Inicializar um repositório (git init)\n- Checkar o status (git status)\n- Adicionar um arquivo pra stage area (git add)\n- Adicionar a modificações ao histórico (commit)\n- Visualizar histórico (git log)\n- Verificar modificações nos arquivos (git diff)\n- Renomear, remover e mover arquivos (rm, mv)\n- Restaurar arquivos e alterar commits (restore, amend)\n- Navegar para um commit passado (git checkout)\n- Limpar working directory (git clean)\n- Reverter um commit (git revert)\n- Ignorar arquivos (git ignore)\n- Branches (branch)\n\n\n## 5. SQL\n\n\n1. Criação, exclusão de um banco de dados \n2. Tipos de Dados\n3. Criação de uma tabela  \n4. Manipulação de colunas\n5. Inserção de dados\n6. Busca de dados\n7. Buscas condicionais (where)\n8. Operadores lógicos\n9. Operadores de comparação\n10. Operadores matemáticos\n11. Atualização de dados\n12. Deleção de dados\n13. Constraints\n14. Relacionamento entre tabelas\n\n### Docker\n\n\n[Docker: Accelerated, Containerized Application Development](https://www.docker.com/)\n\n### PG ADMIN\n\n[pgAdmin](https://www.pgadmin.org/)\n\n\n\n## 6. Criação de APIS com Node.js\n\n- Criar um servidor com Node.js\n- Utilizando Express.js para criação de API's\n    - Configuração básica\n    - Rotas\n    - Elementos da requisição (body, header, query)\n    - Cors\n    - Receber Body em JSON\n    - Middleware\n    - Nodemon\n    - Multer\n\n### Aplicações de interface gráfica para testar API\n- Insomnia\n- Postman\n\n### Swagger\nCriação de documentação para API's\n\n### ORM's:\n\n- PG (realização de query's com SQL)\n- Sequelize\n- Mongoose\n- Primsa\n- TypeORM\n\n## 7. Autenticação\n\n- JWT\n- Passport\n- Social Providers (Google, Apple, Facebook…)\n- API's externas (Amazon Cognito, Auth0)\n\n## 8. Cloud básico\n\n- Heroku \n- AWS EC2 \n    - PM2\n    - Nginx\n- AWS S3 \n\n<aside>\n💡 Dominando estes pontos até aqui você já pode começar a se aplicar para entrevistas de emprego.\n</aside>\n\n## 9. Outras habilidades recomendadas:\n\n- Cron \n- Redis\n- Sentry\n- Github Actions\n\n## 10. Sugestão de tópicos avançados\n\n- TypeScript\n- Estrutura de dados e algoritmos\n- Programação orientada a objetos\n- Nest.js\n- CI/CD (Ferramentas como CircleCI, BuddyWorks)\n- Testes: Jest, Mocha\n- Graphql\n- Socket.io\n- RabbitMQ\n- TerraForm\n- Elastic Search\n"
  }
]