Code Monkey home page Code Monkey logo

sticker-factory's Introduction

Sticker Factory

status Último commit Licença

Projeto desenvolvido durante a imersão Java da alura .Trata-se de um programa que consome um webservice semelhante a API top 250 filmes da IMDB e gera stickers para o whatsapp com base na sua avaliação.

Funcioamento e desing do projeto

O projeto foi modelado a partir de um conceito de fábrica, sendo a classe ProductionCenter, do pacote factory, que executa o método main(). Veja que, é no centro de produção da fábrica que os recursos são utilizados para gerar as figurinhas.

A primeira tarefa executada pelo método main() é o acesso ao endpoint com os top 250 filmes da IMDB por meio do método estático getContent(). Esse método pertence a classe MyHttpClient e retorna um conteúdo json no formato de string.

Posteriormente, esse json é parseado e os dados dos filmes são extraídos por meio de um extrator. Os dados são utilizados para instanciar ImdbMovies em uma lista de Content. Desta forma, percebe-se que ImdbMovies é uma classe filha de Content.

Content é uma classe abstrata do pacote entertaimentContent. Essa classe foi criada com o intuíto de modelar o programa para consumir endpoints que tivessem três características em comum: poster, título e avaliação. Permitindo gerar figurinhas a partir de outros webservices, contanto que tenham essas informações.

Devido a isso, foi importante criar uma interface Extractor com o método data(), que extraí as informações do json. As classes que implementarem essa interface definirão como os dados vão ser extraídos, podendo ter extrator de dados de endpoints como IMDB, Marvel, Stars Wars, etc.

Após a instanciação dos ImdbMovies na lista de Content, o método estático producer(), da classe StickerGenerator, produz as figurinhas com base na nota, utilizando dessa para inserir as estrelas. Depois de criar os stickers na pasta /output, o programa imprime no terminal o título do filme que acabou de gerar o sitcker e a sua nota do IMDB com 1 casa decimal.

Tecnologias utilizadas

  • Java SE 11
  • Maven
  • Visual Studio Code
  • Eclipse

sticker-factory's People

Contributors

tiaggofg avatar

Watchers

 avatar

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.