Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anaisateodoro/todolist

Curso Online de Java na Rocketseat
https://github.com/anaisateodoro/todolist

java java17-spring-boot rocketseat todolist

Last synced: about 1 month ago
JSON representation

Curso Online de Java na Rocketseat

Awesome Lists containing this project

README

        

Curso Online de Java [Rocketseat]


šŸ““ PerĆ­odo de 09 a 13/10/2023 šŸ“Œ


šŸš§ React Select šŸš€ Em construĆ§Ć£o... šŸš§


### DescriĆ§Ć£o do projeto šŸ’»

Aprendizado no desenvolvimento de aplicaĆ§Ć£o web do To-do List em Java com a mentoria de šŸ’ Daniele LeĆ£o.


Nesta semana, šŸ‘© tive a oportunidade de praticar os fundamentos essenciais para um projeto com o uso do Spring Boot com a integraĆ§Ć£o com um banco de dados e por fim noƧƵes bĆ”sicas de autenticaĆ§Ć£o da aplicaĆ§Ć£o.


### To-do List šŸš€

* Semana do Curso Online de Java da [Rocketseat](https://www.rocketseat.com.br/curso-gratuito-java).
* Praticando meus conhecimentos em requisiƧƵes HTTP com a criaĆ§Ć£o de uma aplicaĆ§Ć£o web To-do List.
* āœØLink de acesso: [ToDoList](https://www.rocketseat.com.br/)


![aula02](https://github.com/anaisateodoro/todolist/assets/70113922/259635b9-d922-49ff-adab-74631c2da245)


### ConteĆŗdos praticados šŸ“

- Aula 1 - ConstruĆ§Ć£o back-end de uma aplicaĆ§Ć£o de To-Do List

* Qual a funĆ§Ć£o principal do Maven no desenvolvimento da aplicaĆ§Ć£o do projeto;
* Gerenciar dependĆŖncias e fazer o tal build;
* Diferenciar entre o empacotamento via JAR e via WAR em uma aplicaĆ§Ć£o Spring Boot com Spring Initializr;
* O propĆ³sito de uma controller no contexto do Spring Boot;


- Aula 2 - IntegraĆ§Ć£o com o Banco de Dados

* Ao definir um atributo de uma classe como "private", ele sĆ³ pode ser acessado pela prĆ³pria classe e, Ć© necessĆ”rio usar mĆ©todos pĆŗblicos na classe que retornam ou modificam tal atributo.
* Os mĆ©todos "getters" e "setters" em Java sĆ£o usados para recuperar e definir valores de atributos de uma classe, respectivamente.
* A annotation @RequestBody no Spring Boot indica que os dados da requisiĆ§Ć£o estarĆ£o no corpo da mensagem e serĆ£o convertidos para o objeto especificado no parĆ¢metro do mĆ©todo.
* O Lombok Ć© uma biblioteca que facilita a criaĆ§Ć£o de getters e setters, entre outros mĆ©todos, no Java.
* O Spring Data JPA Ć© uma biblioteca de persistĆŖncia que facilita a comunicaĆ§Ć£o com o banco de dados em uma aplicaĆ§Ć£o Spring Boot.


- Aula 3 - Implementando seguranƧa nos dados do usuƔrio

* Aspectos de seguranƧa e estruturaĆ§Ć£o para garantir um acesso seguro a sua aplicaĆ§Ć£o.
* UtilizaĆ§Ć£o da biblioteca Bcrypt na aplicaĆ§Ć£o.
* MĆ©todo doFilter.
* Header HTTP.


- Aula 4 - Atualizando tarefas e validaĆ§Ć£o de rotas

* O servlet path deve ser igual a /tasks.
* Finalidade de utilizar o mĆ©todo setAttribute no contexto do filtro e do controlador na aplicaĆ§Ć£o.
* UtilizaĆ§Ć£o do mĆ©todo findByIdUser no repositĆ³rio de tarefas, passando o ID do usuĆ”rio como parĆ¢metro.
* O ID da tarefa Ć© passado como um parĆ¢metro de caminho (path variable) na URL.

- Aula 5 - Deploy do Back-End

* Usando a validaĆ§Ć£o do ID do usuĆ”rio no mĆ©todo de atualizaĆ§Ć£o de tarefas.
* ImplementaĆ§Ć£o de um tratamento global de exceƧƵes usando @ControllerAdvice para mensagens de erro especĆ­ficas.
* Uso do Spring DevTools melhora a experiĆŖncia de desenvolvimento.
* Criado um arquivo Dockerfile para utilizar o Render.com
* DefiniĆ§Ć£o das configuraƧƵes do projeto e criar uma imagem Docker da aplicaĆ§Ć£o.


### Como usar o ToDoList? šŸ’»


- PrĆ©-Requisitos: šŸ” Java 17, Maven, VSCode, Rest Client.
- Testes: Postman.


### InstalaĆ§Ć£o

FaƧa um clone do repositĆ³rio para seu PC:

`git clone https://github.com/anaisateodoro/todolist`

Edite e modifique a sua maneira šŸ˜½;

šŸ› ļø Rodar `mvn clean install` para instalar as dependĆŖncias

šŸ› ļø Rodar `mvn spring-boot:run` para subir a aplicaĆ§Ć£o

šŸ› ļø A aplicaĆ§Ć£o estarĆ” disponĆ­vel na port
`8080`


### Tecnologias:




### Como contribuir šŸ™†ā€ā™€ļø

ā˜• A sugestĆ£o Ć© sempre bem-vinda! Fique Ć  vontade de propor mudanƧas...

- FaƧa um fork desse repositĆ³rio;
- Cria uma branch com a sua feature: `git checkout -b minha-feature`;
- FaƧa commit das suas alteraƧƵes: `git commit -m 'feat: Minha nova feature'`;
- FaƧa push para a sua branch: `git push origin minha-feature`.

šŸ’” Depois que o merge da sua pull request for feito, vocĆŖ pode deletar a sua branch.


---

šŸ”— Praticado com ā™„ por [AnaĆ­sa Mayara Teodoro](https://github.com/anaisateodoro) com a mentoria de [Daniele LeĆ£o](https://github.com/danileao) ā™„ .