https://github.com/codingloria/fullstackjrprati
Repositório com os projetos e conteúdos da trilha Dev. Full Stack Jr. 2025 - +praTi & Codifica :]
https://github.com/codingloria/fullstackjrprati
curso
Last synced: 12 months ago
JSON representation
Repositório com os projetos e conteúdos da trilha Dev. Full Stack Jr. 2025 - +praTi & Codifica :]
- Host: GitHub
- URL: https://github.com/codingloria/fullstackjrprati
- Owner: codinGloria
- Created: 2025-04-14T22:37:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-16T14:04:01.000Z (about 1 year ago)
- Last Synced: 2025-06-16T14:46:03.562Z (about 1 year ago)
- Topics: curso
- Language: JavaScript
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

Formação: Dev. Full Stack Jr. 2025 🚀
Plataforma: Codifica & +praTi
Essa formação é fruto de uma parceria entre a **Codifica**, edtech que promove a democratização do ensino de tecnologia, e a iniciativa social **+praTi**, que oferece formação gratuita para profissionais que desejam mudar ou iniciar carreira na área.
O objetivo do curso é garantir a formação de profissionais capazes de resolver problemas computacionais com visão crítica e criatividade, preparando-os para atuar em empresas parceiras do projeto.
Estrutura da Trilha ✨
A formação é composta por **6 módulos principais**, cada um com aulas teóricas e práticas e tarefas avaliativas que consolidam o aprendizado de cada etapa.
---
[01] Algoritmos e Estrutura de Dados ✅
- História da Computação
- Como os Computadores Funcionam: Hardware e Software
- Introdução à Programação: Linguagem EcmaScript/JavaScript
- Variáveis, Tipos de Dados e Operadores em JavaScript
- Estruturas de Controle: Condicionais (if, else, switch)E
- Estruturas de Controle: Laços de Repetição (for, while, do...while)
- Introdução às Estruturas de Dados: Arrays Unidimensionais
- Manipulação de Arrays: Arrays Bidimensionais
- Funções em JavaScript: Definição e Chamadas
- Funções Avançadas: Escopo, Retorno e Procedimentos
- Objetos em JavaScript: Criação e Manipulação
- Depuração e Ferramentas de Desenvolvimento (Debugging)
- **Tarefa 1**
- Recursividade: Conceito e Exemplos em JavaScript
- Estruturas de Dados: Pilhas (Stacks)
- Estruturas de Dados: Filas e Deques (Queues e Deques)
- Listas Ligadas (Linked Lists): Conceito e Implementação
- Árvores I: Estrutura e Operações Básicas
- Árvores II: Árvores Binárias de Busca (BST)
- Algoritmos de Ordenação: Bubble, Selection e Insertion Sort
- Algoritmos de Busca: Busca Linear e Binária
- **Tarefa 2**
---
[02] Desenvolvimento Web: Front-End Essencial
- Introdução ao Versionamento com Git e GitHub
- Comandos Básicos de Git: Commit, Push e Pull
- Colaboração em Projetos com Git e GitHub
- Introdução ao Desenvolvimento Web: História, Tecnologias e o Papel do Frontend
- Estrutura Básica de uma Página HTML: Cabeçalhos, Parágrafos e Listas
- Formulários e Inputs: Captura de Dados do Usuário
- Trabalhando com Links, Imagens e Mídia em HTML
- **Tarefa 3**
- Estilizando Páginas com CSS: Seletores e Propriedades
- Layouts com CSS: Box Model e Posicionamento
- Estilização Avançada com Flexbox
- Estilização Avançada com Grid Layout
- CSS Responsivo e Media Queries
- Introdução ao JavaScript: Conceitos e Uso no Frontend
- Manipulação de DOM com JavaScript
- Eventos e Interatividade em Páginas Web
- Trabalhando com Formulários e Validação de Campos com JavaScript
- Testes Unitários com Jest
- Consumo de APIs no Frontend com Fetch
- Projeto Final – Desenvolvendo de uma Página Web
- **Tarefa 4**
---
[03] Desenvolvimento Web com React
- Introdução ao React e Configuração do Ambiente de Desenvolvimento
- Criando e Renderizando Componentes Funcionais
- Trabalhando com Props e Composição de Componentes
- Introdução ao Estado com useState
- Manipulando Eventos e Atualizando o Estado
- Ciclo de Vida de Componentes com useEffect
- Gerenciamento de Estado Global com Context API
- Trabalhando com Listas e Chaves (Keys)
- Formulários e Controle de Inputs em React
- Consumo de APIs RESTful com React
- Rotas com React Router
- Estilização de Componentes com CSS Modules
- CSS-in-JS com Styled Components
- Boas Práticas na Estruturação de Projetos React
- Criando e Utilizando Hooks Personalizados (Custom Hooks)
- Testes de Componentes com React Testing Library
- Projeto Final – Desenvolvimento da SPA
- Deploy de Aplicações React com Vercel
- **Tarefa 5**
---
[04] Fundamentos Java e Ecossistema Spring
- Introdução à Linguagem de Programação Java e Configuração do Ambiente
- Conceitos Básicos de Java: Variáveis, Tipos de Dados e Operadores
- Estruturas de Controle e Repetição em Java
- Arrays Uni e Bidimensionais
- Métodos, Classes e Interfaces
- Abstração, Encapsulamento e Modificadores de Acesso
- Herança e Polimorfismo
- Estruturas de Dados em Java: Listas, Filas e Pilhas
- **Tarefa 6**
- Lidando com Exceções e Tratamento de Erros
- Introdução ao Spring Framework
- Estruturação de um Projeto com Spring Boot
- Criando Componentes e Beans no Spring
- Estruturando a Aplicação com Controllers e Services
- Configurando e Utilizando Arquivos de Propriedades no Spring
- Validação de Dados com Bean Validation
- Introdução a Threads e Concorrência em Java
- Trabalhando com Arquivos em Java
- Upload e Download de Arquivos com Spring Boot
- Introdução a Testes Unitários com JUnit e Mockito
- **Tarefa 7**
- Boas Práticas no Desenvolvimento com Java e Spring
---
[05] Backend com Spring e Bancos Relacionais
- Introdução a Bancos de Dados Relacionais: Conceitos e Terminologias
- Modelagem de Dados: Entidades, Atributos e Relacionamentos
- Relacionamentos em Bancos de Dados Relacionais
- SQL Básico: Criação de Tabelas
- Manipulação de Dados: Inserção, Atualização e Exclusão
- **Tarefa 8**
- Normalização: Formas Normais e Modelagem de Esquemas Normalizados
- Consultas Avançadas: Funções Agregadas, JOIN e Subconsultas
- Índices e Otimização de Consultas
- Introdução ao Backend com Spring Boot e Configuração do Ambiente
- Arquitetura de Projetos Backend (MVC) com Spring Boot
- Criando Endpoints RESTful com Spring Boot
- Introdução ao JPA e Hibernate
- Manipulando Relacionamentos com JPA e Hibernate
- Consultas Avançadas com JPA (JPQL, Native Queries e Derived Queries)
- Configuração de Bancos de Dados MySQL/PostgreSQL com Spring Boot
- Introdução à Segurança com Spring Security
- Implementando Autenticação com JWT e Autorização com Roles
- Implementação de OAuth2 com Spring Security
- Testes Unitários e de Integração com Spring Boot (JUnit e Mockito)
- Construção e Documentação de uma API RESTful Completa
---
[06] DevOps e IA com Python
- Introdução ao DevOps: Conceitos e Ferramentas
- Controle de Versão com Git: Fluxos de Trabalho (Git Flow e GitHub Flow)
- Introdução à Linguagem Python: Sintaxe e Conceitos Básicos
- Estruturas de Dados em Python: Listas, Dicionários, Tuplas
- Controle de Fluxo em Python: Condições e Loops
- Funções e Módulos em Python
- Configuração de Pipelines de CI/CD com GitHub Actions
- Introdução ao Docker e Criação de Containers
- Gerenciamento de Containers com Docker Compose
- Deploy Automatizado com Docker
- Introdução à Inteligência Artificial: Conceitos e Aplicações
- Configuração do Ambiente de IA com Python
- Construção de Modelos Simples com Scikit-Learn
- Consumo de APIs de IA em Projetos Web
- Projeto Final: Deploy de uma Aplicação Fullstack com IA Integrada e Python
---
Projeto Final da Trilha 🎉
Uma aplicação web completa, de acordo com um tema escolhido, que atenda aos requisitos funcionais e técnicos a seguir. O projeto deve ser implementado utilizando boas práticas de desenvolvimento, com foco em usabilidade, segurança e qualidade.
1) Requisitos Funcionais:
a) CRUD de Dados;
b) Autenticação e Autorização de Usuários:
i) Implementar mecanismos seguros para autenticação (login) e controle de acesso (autorizações) de usuários.
ii) Utilizar práticas de segurança como criptografia de senhas e sessões seguras.
c) Controle de Versão:
i) Utilizar Git para controle de versão do código.
ii) Hospedar o código em um repositório público no GitHub, com um histórico de commits consistente e bem documentado.
2) Requisitos Técnicos (Não Funcionais):
a) Front-end:
i) Desenvolver a interface de usuário utilizando ReactJS, com foco em responsividade e boa experiência de uso.
ii) A interface deve ser limpa, intuitiva e acessível.
b) Back-end:
i) Utilizar Spring Boot para desenvolver a API RESTful.
ii) A aplicação deve seguir as melhores práticas de desenvolvimento, com foco na escalabilidade e manutenção do código.
c) Banco de Dados:
i) Utilizar MySQL ou PostgreSQL como banco de dados relacional.
ii) Garantir a integridade e eficiência do banco de dados, com a criação de tabelas adequadas e normalizadas.
d) Endpoints RESTful:
i) Implementar endpoints RESTful para todas as operações CRUD, com tratamento adequado de erros e respostas claras.
ii) Assegurar que os endpoints sejam seguros e bem documentados.
e) Testes Unitários:
i) Implementar testes unitários para os componentes críticos da aplicação.
ii) Garantir uma cobertura mínima de 70% de testes, utilizando frameworks como JUnit (para o back-end) e Jest (para o front-end).
iii) Os testes devem cobrir os casos de uso principais, como as operações CRUD e a autenticação.
f) Métodos Ágeis:
i) Aplicar metodologias ágeis no gerenciamento do projeto (ex.: Scrum, Kanban).
ii) Realizar o planejamento adequado do projeto, com etapas bem definidas, como sprints ou milestones.
iii) A entrega do projeto deve seguir prazos definidos previamente.
3) Entrega do Projeto:
a) Código-fonte:
i) O código-fonte deve ser hospedado em um repositório público no GitHub.
ii) O repositório deve ser bem organizado, com um histórico de commits claro e uma estrutura de pastas eficiente.
iii) O código deve ser limpo, bem documentado e seguir convenções de nomenclatura e boas práticas de desenvolvimento.
b) Documentação Técnica:
i) Instruções para Execução Local: Fornecer um guia passo a passo para configurar o ambiente local e rodar a aplicação.
ii) Descrição da Arquitetura: Explicar a arquitetura da aplicação, incluindo a estrutura do front-end e back-end, interação com o banco de dados, fluxos de dados e componentes principais.
iii) Detalhamento das Funcionalidades Implementadas: Descrever as funcionalidades principais implementadas no sistema, como o funcionamento do CRUD, autenticação, etc.
iv) Aspectos Relevantes: Incluir quaisquer outros aspectos importantes, como desafios técnicos enfrentados, soluções adotadas e decisões de design.
c) Demonstração ao Vivo:
Os estudantes devem apresentar o projeto em uma sessão ao vivo, onde será possível:
i) Demonstrar as funcionalidades implementadas: Mostrar como a aplicação funciona e interage com o usuário.
ii) Explicar as decisões de design: Discutir as escolhas feitas em relação ao design, arquitetura e ferramentas utilizadas.
iii) Responder perguntas: Estarem preparados para responder perguntas sobre o funcionamento e as escolhas de implementação.
---
Sobre a Codifica 💡
A **Codifica** é uma Edtech especializada no ensino de tecnologia, inovação e pensamento computacional desde os primeiros anos da educação básica até a educação profissional. Seu objetivo é despertar o interesse de mais pessoas pela tecnologia, promovendo conhecimento de qualidade, acessível e capaz de desenvolver habilidades para os desafios do mundo digital.
Sobre a +praTi 🤝
A **+praTi** é uma iniciativa social criada por empresários da área de TI do RS, preocupados com o descompasso entre a demanda do mercado e a qualificação de profissionais. Desde 2020, oferece formação gratuita para quem deseja entrar no setor de tecnologia, seja por vocação ou transição de carreira, construindo um futuro promissor na área.
---
💬 Para cada módulo, você encontrará tarefas, projetos e anotações salvas em suas respectivas pastas.
📌 Os projetos finais estão destacados com foco em práticas do mercado.
✅ Este repositório será atualizado ao longo da formação com novos conteúdos e entregas.