Israel Barreto's Projects
02-api-rest-nodejs
I created this API to reinforce in a practical way some of the concepts of NodeJS that I work with. Daily Diet API is an API for daily diet control.
Nesse desafio, criei uma aplicação para treinar o que aprendi até agora no Node.js! Essa é uma aplicação para gerenciar tarefas (em inglês *todos*). É permitida a criação de um usuário com `name` e `username`, bem como fazer o CRUD de *todos*: - Criar um novo *todo*; - Listar todos os *todos*; - Alterar o `title` e `deadline` de um *todo* existente; - Marcar um *todo* como feito; - Excluir um *todo*; Tudo isso para cada usuário em específico (o `username` é passado pelo header).
Nesse desafio, criei uma aplicação para treinar o que aprendi até agora no ReactJS. Essa é uma aplicação onde o principal objetivo é uma pequena aplicação de atividades a fazer, para treinar um pouco mais sobre manipulação do estado no React.
Nesse desafio desenvolvi uma API para realizar o CRUD das tasks (tarefas) do usuário.
Nesse desafio, criei uma aplicação para treinar o que aprendi até agora no ReactJS. Essa é uma aplicação onde o meu principal objetivo é refatorar uma página para listagem de filmes de acordo com gênero. A aplicação já estava totalmente funcional mas grande parte do seu código estava diretamente no arquivo `App.tsx`. Para resolver isso da melhor forma, é necessário dividir a aplicação em **pelo menos** duas partes principais: sidebar e o conteúdo principal que possui o header e a listagem de filmes. - A aplicação possui apenas uma funcionalidade principal que é a listagem de filmes; - Na sidebar é possível selecionar qual categoria de filmes deve ser listada; - A primeira categoria da lista (que é "Ação") já deve começar como marcada; - O header da aplicação possui apenas o nome da categoria selecionada que deve mudar dinamicamente.
Nesse desafio irei trabalhar mais a fundo com middlewares no Express. Dessa forma serei capaz de fixar mais ainda os conhecimentos obtidos até agora. Para facilitar um pouco mais do conhecimento da regra de negócio, trabalharei com a mesma aplicação do desafio anterior: uma aplicação para gerenciar tarefas (ou *todos*) mas com algumas mudanças. É permitida a criação de um usuário com `name` e `username`, bem como fazer o CRUD de *todos*: - Criar um novo *todo*; - Listar todos os *todos*; - Alterar o `title` e `deadline` de um *todo* existente; - Marcar um *todo* como feito; - Excluir um *todo*; Tudo isso para cada usuário em específico. Além disso, dessa vez teremos um plano grátis onde o usuário só pode criar até dez *todos* e um plano Pro que irá permitir criar *todos* ilimitados, isso tudo usando middlewares para fazer as validações necessárias.
Essa aplicação realiza o CRUD (Create, Read, Update, Delete) de repositórios de projetos. Além disso, é possível dar likes em repositórios cadastrados, aumentando a quantidade de likes em 1 a cada vez que a rota é chamada.
Nesse desafio, criei uma aplicação para treinar o que aprendi até agora no Node.js! Esta é uma aplicação de listagem e cadastro de usuários. Para que a listagem de usuários funcione, o usuário que solicita a listagem deve ser um admin.
Neste desafio, criei uma aplicação para treinar o que aprendi até agora no Node.js! Utilizando uma aplicação já funcional como base, realizei a documentação das rotas com o Swagger.
Nesse desafio, realizei consultas no banco de dados com o TypeORM de três maneiras: a) usando o ORM; b) usando Query Builder; c) Usando Raw Query. Isso me ajudou a entender e exercitar os diferentes tipos de consultas que podemos fazer.
Nesse desafio, criei testes unitários para uma aplicação já pronta usando tudo que aprendi até agora sobre testes.
Nesse desafio, criei testes de integração para a mesma aplicação usada no desafio anterior.
Nesse desafio implementei uma nova funcionalidade na FinAPI, a aplicação que foi testada durante o Desafio 08 - Testes Unitários. A nova funcionalidade permite a transferência de valores entre contas.
Neste desafio reapliquei os conceitos aprendidos sobre serverless usando o Serverless framework.
This is a series of basic challenges so I can practice my HTML knowledge.