Code Monkey home page Code Monkey logo

thehero-backend's Introduction

Build Status contributions welcome Java Code Style Java Code Style codecov vulnerabilities

License

Apache License 2.0

Tecnologias

  • Spring Boot - Framework de Desenvolvimento para a Linguagem Java.

  • Lombok - Biblioteca Java focada em produtividade e redução de código boilerplate que, por meio de anotações adicionadas ao nosso código, ensinamos o compilador (maven ou gradle) durante o processo de compilação a criar código Java.

  • JUnit5 - Framework facilita a criação e manutenção do código para a automação de testes com apresentação dos resultados.

  • Mockito - Estrutura de teste de código aberto para Java liberada sob a licença MIT. A estrutura permite a criação de objetos duplos de teste em testes de unidade automatizados com o objetivo de desenvolvimento orientado a teste ou desenvolvimento orientado a comportamento.

  • PostgreSQL - Banco de dados.

  • Hibernate - Framework para persistência de dados. (ORM)

  • JPA - Especificação do Java que dita como os Frameworks ORM devem ser implementados.

  • Docker - Plataforma open source que facilita a criação e administração de ambientes isolados. Ele possibilita o empacotamento de uma aplicação ou ambiente dentro de um container, se tornando portátil para qualquer outro host que contenha o Docker instalado.

  • Swagger - Essencialmente uma linguagem de descrição de interface para descrever APIs RESTful expressas usando JSON.

Sobre o Projeto Be The Hero

Este projeto foi desenvolvido com o intuito de ajudar ONGs que cuidam de animais. As ONGs precisam de ajuda monetária ou até mesmo em adoções. As ONGs podem cadastrar casos através do Portal e as pessoas que querem ajudar podem identificar os casos e os detalhes dos casos cadastrados através do App (Atualmente apenas para versão Android). Se você conhece alguma ONG peça para que ela entre em contato conosco, não cobramos a utilização das plataformas! Por isso o código fonte é aberto, para que assim possamos aplicar estudos relacionados a linguagem Java, ReactJS ou Native e no final todos saímos ganhando, ou seja, você por adquirir conhecimento e aplicar, e também a ONG por ter sempre uma aplicação de qualidade e em constante evolução. A aplicação iniciou com a versão em NodeJS através de um evento da Rocketseat, mas vou falar mais sobre no tópico abaixo.

Rocketseat

Conheci a Rocketseat em sua 10.ª Semana Omnistack (que atualmente se chama NLW), mas fui participar somente da 11.ª semana. Nesta semana criamos o Be The Hero . Basicamente após criar o projeto você como programador Júnior apenas publica o projeto em algum lugar e exibe o mesmo como um portifólio. Ao meu ver o projeto é absurdamente interessante e seria "desperdício" ver algo tão bom literalmente parado. Decidi doar o Aplicativo para ONGs que tenham interesse em utilizá-lo de forma 100% GRATUITA. Assim eu poderia provar que o intuíto da divulgação do projeto é inteiramente sem fins lucrativos, hoje existem ONGs utilizando o App de forma totalmente gratuita e isso com certeza é muito gratificante.

Como eu disse no tópico Porque crio diversos repositórios em meu readme.md, gosto muito da prática e me surgiu a idéia de transformar o backend da aplicação que a princípio era todo em NodeJS pra Java utilizando Spring Boot. É óbvio que de início não foi nada fácil, mas concluí e aprendi muito com isso.

Os repositórios do projeto todo são:

Backend em Java com Spring Boot.

Front-End em ReactJS.

Mobile em React-Native.

O projeto é open-source e você pode contribuir sem problema algum, é só abrir um PR. 😎

O projeto sendo open-source duas coisas incríveis ocorrerão:

Pode parecer repetitivo..

  • Mas é a mais pura verdade: O programador que abrir um PR vai estar contribuindo com um projeto open-source e consequentemente vai aprender e adquirir muito conhecimento sobre o assunto abordado no PR. 😀

  • As ONGs por sua vez terão sempre um projeto gratuito e com atualizações sem precisar pagar nada. 😜

thehero-backend's People

Contributors

andersoncrocha avatar jobs-freelancer avatar jonatas0072 avatar muriloalvesdev avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

thehero-backend's Issues

Versiona o banco de dados

Em estudos, vi que é uma boa pratica versionar o banco de dados ao invés de deixa o hibernate resposavel por esta tarefa como é de costume por ser mais simples.
Dado isto, surgi a necessidade de implementa o sistema de migrations usando Flyway.

  • Adicionar dependencia.

  • Criar versionamento do banco apartir do que existe.

[FEATURE] - Melhorar README.md

Tópicos:

  • O que é o projeto
  • Porque foi desenvolvido
  • Qual o propósito
  • Como contribuir com o mesmo
  • Como compilar e executar o projeto
  • Padrão de testes
Mais sugestões adicionem nos comentários.

Adicionar a checagem do DDI na anotação @PhoneBrazil

Motivação
Foi feito a anotação @PhoneBrazil para validar telefones brasileiros, no entanto, ela valida o DDD mais o numero de telefone com o nono digito. Para que seja realmente oficial o numero brasileiro à necessidade de se validar se os três primeiros dígitos informados é +55, correspondente ao DDI do Brasil.

Deploy to Heroku

Validar a possibilidade de implementar este action: https://github.com/marketplace/actions/deploy-to-heroku

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.