Os Objetivos de Desenvolvimento Sustentável são um apelo global à ação para acabar com a pobreza, proteger o meio ambiente e o clima e garantir que as pessoas, em todos os lugares, possam desfrutar de paz e de prosperidade. Estes são os objetivos para os quais as Nações Unidas estão contribuindo a fim de que possamos atingir a Agenda 2030 no Brasil.
O que: Acabar com a fome, alcançar a segurança alimentar e melhoria da nutrição e promover a agricultura sustentável — Objetivo 2 da ONU.
Por quê: Índices de fome e extrema pobreza aumentaram ainda mais em tempos de pandemia do COVID-19. Além disso, produtores rurais estão enfrentando dificuldades para cultivar e distribuir alimentos.
Como: Divulgando empresas e sites de instituições que trabalhem com arrecadação e doação de alimentos saudáveis para pessoas em situações vulneráveis e crianças. Trabalhando como mediador entre consumidor e produtor, oferecendo descontos em próximas compras ou garantindo que parte do valor da venda vá para a caridade.
Solução proposta: Desenvolver uma plataforma de e-commerce na qual diversos consumidores e pequenos produtores rurais possam se conectar, garantindo alimentos sustentáveis em lares.
Usamos uma ferramenta online chamada db designer para montarmos o modelo do nosso banco de dados
Utilizamos o Spring initializr para selecionar versão utilizada (Java 8) o gerenciador de dependências (Maven) e as dependencias iniciais do projeto:
- Spring Boot Dev Tools: Permite que você consiga reiniciar sua aplicação. (melhora a experiência do desenvolvimento pois facilita o reaload do projeto)
- Spring Web: Para criar uma api usando spring mvc. (usa o apache contêiner incorporado por padrão
- Spring Data Jpa: Persistir dados em repositórios SQL com a API Java Persistence usando Spring Data e Hibernate
- MySQL Driver: Utilizamos o banco de dados relacional MySQL.
- Validation: Validador do Hibernate (Ex: @Size)
- Spring Security: Autenticação personalizavel e estrutura de controle de acesso para aplicativos Spring.
- Model: Classe responsável pela abstração de nossos objetos e tabelas em nossos banco de dados.
- Repository: Interface responsável pela comunicação direta com o banco de dados.
- Service: Classe responsável por toda regra de negócio e tratativa de dados, sempre seguindo o modelo de negócio da aplicação.
- Controller: É a camada responsável por manipular todas as requisições feitas do lado de fora da nossa API, essas requisições são feitas através de URL's seguindo o protocolo HTTP.
- Security: Camada responsável por garantir a segurança do nosso endpoint. (Usamos Basic o usuário precisa de um login e senha para acessar a área logada para cadastro por exemplo dos produtos. O Spring security ele vai encryptar a senha e fazer uma consulta no nosso banco de dados para saber se o usuário existe. Se sim ele retorna como resposta o Authorization com o prefixo Basic + token)
Deploy é a fase do desenvolvimento que passamos o que desenvolvemos para a produção. (Você desenvolve o aplicativo na sua máquina e depois coloca ele em um servidor). O deploy ele pode ser feito num contexto de máquina virtual ou em um contexto de contêiner.
Docker é um software contêiner da empresa Docker Inc com ele nós podemos colocar as aplicações em um contêiner que possui todos os recursos necessários e que permite e testar, implantar e publicar mais rapidamente.
David Sales 💻 |
Marcos Pacanaro 💻 |
Monique Jessica 💻 |
Paula Figueiredo 💻 |
Vivian Reis 💻 |