Você está na página 1de 43

1

MATUS - Aplicativo para compra e venda de materiais


recicláveis
Andréa C. da Silva Mello¹, Pedro Henrique L. Francisco¹

¹Universidade Paulista - UNIP Campinas - Campus II


Av. Comendador Enzo Ferrari, 280 - Swift, Campinas - SP, 13045-770

(​andrea.mello2@aluno.unip.br​, ​pedro.francisco2@aluno.unip.br​)

Abstract: ​Considering that nowadays the production of garbage has been


increasing more and more in Brazil and that the disposal of recyclable materials
is not always available and appropriate enough for a correct disposal to be
carried out, this work aims to develop an application for mobile devices that
seeks to bring a way to connect people who are interested in making a more
sustainable disposal of recyclable materials through the sale and purchase of
them, in order to make recycling and reuse of materials more accessible to
people.

​ endo em vista que nos dias atuais a produção de lixo vem aumentando
Resumo: T
a cada dia mais no Brasil e que o descarte de materiais recicláveis nem sempre
está disponível e apropriado o bastante para que um descarte correto seja
realizado, este trabalho tem como propósito o desenvolvimento de um aplicativo
para dispositivos móveis que busca trazer uma forma de conectar pessoas que
tenham interesse em fazer um descarte mais sustentável de materiais recicláveis
através da venda e compra dos mesmos, de forma a tornar a reciclagem e
reutilização dos materiais mais acessível para as pessoas.

1 Introdução
Este capítulo apresenta as considerações iniciais do trabalho, a justificativa e os objetivos.
No final são apresentados os capítulos subsequentes que compõem o texto.

1.1 Considerações iniciais


Como o sexto país mais populoso do mundo, com aproximadamente 211,8 milhões de
habitantes em 2020, um crescimento de 0,77% em relação ao ano anterior, pode-se
2

imaginar a quantidade de lixo que é produzido diariamente no Brasil. Estima-se que uma
pessoa produza de 800g a 1kg de lixo por dia, o que reflete claramente nos dados
apontados pela ONU Meio Ambiente que mostra o Brasil como o país que mais produz
lixo na América Latina, tendo sozinho 40% da produção de lixo diária da região, com
aproximadamente 541 mil toneladas por dia[16], sendo classificado também como o quarto
país que mais produz lixo plástico no mundo, com 11,3 milhões de toneladas de lixo
plástico por ano, segundo um estudo realizado pela World Wildlife Fund [17].

De acordo com o Panorama dos Resíduos Sólido​s 2018/2019, feito pela Associação
Brasileira de Empresas de Limpeza Pública e Resíduos Especiais (Abrelpe), 79 milhões de
toneladas de lixo foram geradas pelo Brasil em 2018 (ABRELPE, 2019, p.13), e embora a
capacidade e potencial de reciclagem sejam de 30%, apenas 3% deste total foram
realmente reciclados.

A reciclagem no Brasil vem sendo um tópico importante para ser debatido e melhor
desenvolvido há alguns anos. Embora muito já tenha sido dito sobre o que é a reciclagem,
um processo em que há um reaproveitamento do material do lixo, transformando-o em um
produto novo ou em um completamente diferente do original a fim de diminuir a produção
de lixo criado pela população e seu impacto no ecossistema e natureza do planeta, ainda
sim nos dias de hoje, muitas pessoas ainda não sabem os grandes benefícios que a
reciclagem traria se fosse executada de forma correta e com mais participação da
sociedade, já que ainda há muita desinformação e falta de conhecimento entre os cidadãos
brasileiros.

O Ibope trouxe uma pesquisa em 2018 que apontou que o Brasil possui um total de
66% de sua população com um conhecimento insuficiente ou praticamente inexistente de
como funciona a reciclagem e a coleta seletiva do lixo e, ainda, que 39% da população não
faz o processo de separação do lixo , o que é possível analisar nas palavras de Ana Maria
Luz, presidente do Instituto GEA — Ética e Meio Ambiente para a revista digital Galileu,
que afirmou: “Qualquer programa de coleta seletiva depende que, primeiro, as pessoas
pensem antes de jogar o resíduo no lixo para que ele seja separado desde a hora que cai na
lixeira e, segundo, que ele chegue à reciclagem”[11]. Houve também uma pesquisa feita
pelo Instituto Ipsos em 2019 que trouxe a tona o fato de que 54% da população brasileira
3

não tem conhecimento de como funciona a reciclagem nas regiões onde habitam. “Não
mudou muito a visão de que basta ter lixeiras e o sistema de coleta já está resolvido. Não
está”, diz a presidente do Instituto GEA, e tendo em vista que apenas 17% da população do
Brasil possui realmente o serviço da coleta seletiva, como consta no relatório da ONG
Compromisso Empresarial de Reciclagem (Cempre) de 2018, é possível observar de
acordo com as estatística de que não somente a falta de conhecimento da população sobre a
reciclagem e a reutilização de materiais afeta no processo de coleta do lixo para a
reciclagem, como também a falta de um investimento mais significativo por parte do
governo também reflete claramente em tais números[12].

Tendo em mente tais fatores e visão de por que e como a sociedade vem se
comportando quando o assunto são materiais recicláveis e o processo para que eles
consigam ser reciclados corretamente e visando em como a internet atualmente é um dos
maiores portais de informação utilizado pelas pessoas e a utilização de smartphone vem se
tornando mais comum, a intenção deste projeto é fazer uma aplicação ​mobile q​ ue auxilie a
reciclagem de materiais que possam ser reciclados ou reutilizados de alguma forma se
torne mais acessível, simples e prática para as pessoas, sendo informativo e tornando o
comércio e descarte dos materiais recicláveis mais fácil.

1.2 Objetivos

A seguir serão apresentados os objetivos deste trabalho.

1.2.1 Objetivo Geral


Este projeto visa implementar uma aplicação ​mobile ​para dispositivos Android e iOS para
auxiliar na negociação para venda e compra de materiais recicláveis a fim de facilitar o
descarte de lixo reciclável do usuário.

1.2.2 Objetivos Específicos


● Permitir ao usuário buscar materiais recicláveis filtrados por suas categorias:
papel/papelão, plástico, vidro, metal, madeira, baterias, componentes eletrônicos e
óleo.
● Permitir ao usuário buscar materiais recicláveis filtrados pela localização do
anúncio.
4

● Permitir que o usuário crie anúncio de seus materiais recicláveis.


● Permitir que o usuário entre em contato com o anunciante através do chat interno
do aplicativo.
● Permitir que o usuário realize acesso através do Facebook ou Google.
● Permitir que o usuário visualize uma tela com dicas de quais materiais reciclar por
categoria.

1.3 Justificativa
Com um ritmo de vida agitado e acelerado, a maioria das pessoas não se vêem inclinadas a
levar seu lixo reciclável para os lugares onde é realizado o descarte correto de cada tipo de
material reciclável, muitas das vezes o lixo é descartado de maneira incorreta visto que este
processo de descarte não é tão acessível quanto deveria no Brasil. Em decorrência disso,
sabendo que os smartphones hoje são um grande portal de informação e comercialização
da sociedade, este projeto visa auxiliar seus usuários a encontrar um meio de realizar o
descarte de seus materiais recicláveis de forma simples e acessível através de anúncios em
um aplicativo ​mobile​, onde os usuários poderão anunciar seus materiais recicláveis
classificados por seus tipos e localização por um determinado valor que pode ser
negociado através de um chat interno próprio do aplicativo para facilitar ainda mais a
negociação.
As tecnologias utilizadas para o desenvolvimento do projeto, como a linguagem do
Flutter ​e o ​Visual Studio Code,​ foram escolhidas devido a sua tecnologia atual e de fácil
utilização devido a suas ferramentas que facilitam no desenvolvimento do aplicativo
mobile.​

1.4 Trabalhos relacionados


Atualmente, há vários aplicativos de venda e compra de itens e de coleta de materiais
recicláveis, alguns deles serão citados a seguir.

a. Cataki
O Cataki é um aplicativo ​mobile ​para celulares Android e iOS ​que tem como foco
aproximar catadores de materiais recicláveis e pessoas que desejam fazer o descarte desses
5

materiais[4]. Algumas de suas funções são utilizar API de localização, criar solicitações
para coleta de lixo, visualizar perfil de usuários catadores e realizar filtros. Algumas telas
com o ​layout ​do aplicativo pode ser visualizado na Figura 1.

Figura 1 - Cataki

b. OLX
A OLX se trata de um site e aplicação mobile no qual são feitas compras e vendas de
produtos pelos usuários. Algumas de suas funcionalidades são criação e visualização de
anúncios, utilização de API de localização, disponibilização de um chat para negociação
entre o anunciante e o interessado, visualização do perfil do anunciante, aplicação de filtros
para localizar determinados tipos de anúncios e favoritar um anúncio[13]. A Figura 2
ilustra a aparência do aplicativo ​mobile ​da OLX.
6

Figura 2 - OLX

c. Descarte Rápido
O aplicativo Descarte Rápido da startup ​Boas Atitudes & Sustentabilidade ​tem objetivo
como ajudar o usuário a separar seu lixo e encontrar pontos de coleta próximos de sua
localização para realizar o descarte[3]. Tendo funções que utilizam a API de localização
para mostrar o ponto de descarte próximo ao usuário, contendo também dicas de
reciclagem e descarte de resíduos e materiais recicláveis. A Figura 3 a seguir apresenta a
aparência do aplicativo.
7

Figura 3 - Descarte rápido

d. Recycle Coach
O aplicativo Recycle Coach, para celulares Android e iOS, tem como principal objetivo
auxiliar o usuário a organizar e controlar seu calendário de descarte de lixo que conta com
lembretes ao usuário, contendo também dicas educacionais sobre descarte de lixo[14]. A
Figura 4 apresenta telas que fornecem uma ideia do funcionamento da aplicação.
8

Figura 4 - Recycle Coach

1.5 Estrutura do trabalho


Este texto está organizado em capítulos. No capítulo 2 será apresentado o referencial
teórico no qual este projeto foi fundamentado para sua aplicação desenvolvida em
dispositivos móveis Android e iOS. O capítulo 3, por sua vez, apresentará o
desenvolvimento do projeto, contendo os materiais e os métodos que foram utilizados para
a modelagem e implementação do aplicativo, abordando as restrições e requisitos no qual o
projeto é estruturado, além da prototipagem utilizada para o esboço das telas da aplicação.
No capítulo 4, será apresentado o aplicativo desenvolvido, exibindo telas que representam
as funcionalidades implementadas e como se dá a interação do usuário com as mesmas.
Tendo como adendo uma quantia de exemplos dos códigos que foram utilizados na
implementação do aplicativo. Por fim, será apresentado a conclusão do trabalho e sua
aplicação, seguida das referências utilizadas como fonte e material de pesquisa aplicados
no texto.
9

2 Referencial Teórico
Neste capítulo será abordado os fundamentos teóricos utilizada para o desenvolvimento
deste trabalho, que tem por objetivo o desenvolvimento de um aplicativo ​mobile ​para a
negociação de recicláveis. O funcionamento deste tipo de aplicativo será visto no decorrer
do capítulo, tratando dos conceitos das plataformas Android e iOS que será utilizada pelo
aplicativo e trazendo também aplicativos com funcionalidades ou temas próximos ao
aplicativo desenvolvido neste trabalho.

2.1 Dispositivos móveis


Hoje em dia, já é de conhecimento geral que os smartphones dominam com supremacia
quando o assunto é consumo de tecnologia no mercado. Sendo um aparelho tecnológico
que cada vez mais auxilia no cotidiano das pessoas e sendo até mesmo utilizado para
trabalho ou para aprendizagem. Seu desenvolvimento e evolução com o passar dos anos,
vem tornando este tipo de aparelho cada vez mais com, o que pode-se chamar de, um
computador de bolso um recurso cada vez mais necessário e utilizado pelas pessoas.
No ano de 2019, foi registrado um total de 48,6 milhões de aparelhos vendidos de
acordo com um levantamento feito pela IDC Brasil, tendo um aumento de 3,3% em relação
às vendas de 2018 e de acordo com uma matéria trazida pelo site Portal FGV, em 2020
existem cerca de 234 milhões de smartphones no Brasil[6].

2.2 Sistemas operacionais


Existem vários sistemas operacionais para smartphones atualmente. Citando algumas, é
fácil se recordar da famosa plataforma do Google, Android, ou também do sistema
operacional desenvolvido pela Apple, iOS, existem também o BlackBerry, Windows,
Symbian e outras.
Dentre tantos sistemas operacionais para smartphones que estão disponíveis
atualmente, aquele que domina o mercado e a concorrência, de acordo com uma matéria
apresentada pelo site Techcrunch em 2014, é o Android, tendo sozinho um total de 70%
das vendas no mercado, enquanto as vendas de smartphones com outros sistemas
operacionais obtiveram estatísticas bem menores. A empresa Apple conseguiu 22,1% das
vendas com o iOS, já as plataformas menos utilizadas, como o Windows Phone, obteve
10

4,4% das vendas. O restante das vendas foi responsável por plataformas como BlackBerry
e Symbian, uma plataforma mais antiga e descontinuada[10]. Em 2020, no entanto, o
sistema operacional Android dominou ainda mais o mercado de acordo com uma análise
de dados realizada pela empresa Kaltar, onde é apontado um total de 95,8%, enquanto o
iOS ficou com 4% das vendas e o Windows Phone com 0,3%[9].

2.3 Soluções móveis


Com base em como está o mercado hoje em dia e em como os smartphones vem sendo
cada vez mais utilizados, o desenvolvimento para aplicações mobile está cada vez mais
ganhando espaço. O desenvolvimento de uma aplicação mobile é algo que exige analisar as
funcionalidades que necessitam serem atendidas e seu alcance na plataforma requerida.
Portanto, questões como tempo, conhecimento da equipe, tecnologias, recursos disponíveis
e custo são analisadas para que assim possa ser traçado o planejamento e soluções de como
e o que será usado para o desenvolvimento de aplicativos móveis. Há três categorias de
solução para aplicação mobile, sendo elas: Nativas, WebApps e Híbridas.

2.3.1 Nativas
Trata-se de aplicativos que são instalados no dispositivos através do adquirimento em
lojas, como, por exemplo, Google Play, App Store e Amazon Underground. Sendo
aplicações desenvolvidas especificamente para uma plataforma móvel, normalmente
possuem um bom aproveitamento dos recursos de software e hardware do dispositivo e da
plataforma.
Entretanto, uma desvantagem desse tipo de aplicação é o fato de não ser possível
utilizá-las em demais plataformas que não aquela para qual foi desenvolvida, tendo então
que ser desenvolvida separada para cada sistema operacional móvel, o que implica no
aumento de custo, tempo e equipe para o desenvolvimento[8].

2.3.2 WebApps
São aplicações especificamente desenvolvidas para Web, mais comumente sendo
desenvolvidas com HTML 5, CSS3 e Javascript, podendo ser acessadas normalmente
através de sites ao utilizar navegadores de internet, sendo que sua maior vantagem é o fato
11

de não haver a necessidade de uma instalação no aparelho móvel ou impedimentos quanto


a plataforma utilizada pelo smartphone.
Apesar de problemas de compatibilidades serem menores, devido a seu
funcionamento, desempenho e capacidade estar atrelado a forma como foi desenvolvido e
em como o HTML 5 e o CSS3 se comportam no navegador utilizado, uma aplicação web
não é indicada para aplicações que exijam de um desempenho mais elaborado e um tempo
de resposta menor, além de não usufruir de recursos como notificações do sistema
operacional, câmera, acelerômetro, lista de endereços e outro recursos do hardware do
aparelho. Apesar disso, as aplicações Web são muito frequentemente desenvolvidas com a
tarefa de se parecer uma aplicação mobile

2.3.3 Híbrida
É um tipo de aplicação que faz a junção de ambas as aplicações citadas anteriormente,
sendo parcialmente uma aplicação nativa e parcialmente uma aplicação web. Em sua
maioria, estas aplicações são desenvolvidas como uma aplicação web e tem parte
considerável de sua aplicação exibida em navegadores, porém sua estrutura também pode
ser encapsulada para uma aplicação nativa, o que traz uma grande vantagem ao ser
possível utilizar os recursos presentes no hardware e plataforma do smartphone. Por
trazerem tantas vantagens ao utilizar ambas as funções presentes em aplicações nativas e
web, a aplicação híbrida se tornou muito popular entre desenvolvedores e empresas, visto
que além de trazerem recursos vantajosos também trazem vantagem na redução de tempo
para uma aplicação desse porte e o custo para o desenvolvimento, já que devido ao fato do
código da aplicação ser em HTML, CSS e Javascript, a aplicação híbrida pode ser
reaproveitada em diferentes dispositivos e seu código tem uma quantidade menor para ser
replicada nas plataformas.
Para que o desenvolvimento de aplicações híbridas possa ser realizados,
frameworks d​ e desenvolvimento multiplataforma são utilizadas e, como sua arquitetura
sem vínculos a uma plataforma específica permite que seja aplicado em várias plataformas,
seguem como base só necessitar escrever o código uma única vez e realizar o mínimo
possível de customizações necessárias para a aplicação em diferentes nos sistemas
operacionais móveis.
12

2.4 Desenvolvimento ​mobile


Para o aplicativo proposto neste trabalho será desenvolvido para as plataformas Android e
iOS, utilizando a ​framework ​Flutter para o desenvolvimento multiplataforma nativo do
aplicativo. As arquiteturas dos componentes citados serão apresentadas a seguir.

2.4.1 Android
Em outubro de 2003, foi criado pela startup Android Inc., o sistema operacional Android e,
alguns anos depois, em 2005, o mesmo foi comprado pela empresa Google. Após adquirir
o Android, a Google em conjunto com a OHA (​Open Handset Alliance​) lançou o sistema
Android em ​open-source ​e sendo baseado no ​kernel ​utilizado pelo Linux em novembro de
2007.
O sistema operacional Android utiliza algumas camadas em sua arquitetura,
possuindo funcionalidades e comportamentos específicos, sendo elas: ​System apps​, Java
API ​frameworks​, ​Libraries,​ Android runtime, ​HAL​, ​kernel L
​ inux. A organização dessa
arquitetura é representada pela Figura 5.
13
14

Figura  5  -  Arquitetura  do  sistema  operacional  Android.  Fonte:  Android  Developer 


(2020).

As camadas contidas na arquitetura do Android serão comentadas com mais


detalhes a seguir.
a. System apps - trata-se de uma camada onde há um grupo de aplicações disponíveis que
expandem os recursos e funcionalidades da plataforma, sendo esses aplicativos com
funcionalidades como calendários, navegadores de internet, e-mail, envio de SMS,
contatos e entre outros[1].
b. Java API ​frameworks - É uma camada que possui um conjunto de recursos do sistema
operacional Android, tendo elementos como ​content providers, intents, view e
managers, t​ ornando mais simples a reutilização de componentes e serviços de sistema
modulares e principais e sendo onde as aplicações construídas pelos desenvolvedores
são instaladas e onde os desenvolvedores conseguem construir aplicações que
executem no ​kernel ​Android, interoperando entre si e outras aplicações[1].
c. Libraries​- ​Trata-se de um conjunto de bibliotecas C/C++ que podem ser utilizadas por
diversos componentes do Android e principalmente pela ​framework d​ e aplicação para o
gerenciamento da renderização da interface, segurança de dispositivos, persistência de
aplicações e outros. Dentre as bibliotecas existentes nesta camadas algumas delas se
destacam, sendo elas: SQLite, Media Libraries e Surface Manager[1].
d. Android ​runtime ​- ​Esta camada é formada pela máquina virtual Dalvik e pelas
bibliotecas básicas que existem no Android. Enquanto o Dalvik tem como objetivo ser
como um tradutor entre a aplicação e o sistema operacional, as bibliotecas , em Java,
equipam a grande maioria das funções que estão disponíveis[1].
e. HAL ​- Trata-se da camada de abstração de hardware, tendo como objetivo expor as
capacidades presentes no hardware do dispositivo para a Java API ​framework de alto
nível. É através desta camada que é possível acessar recursos do hardware do
dispositivo, como a câmera ou ​bluetooth por exemplo. Quando os desenvolvedores de
aplicações necessita utilizar algum desses recursos, é através de uma camada da
framework ​API que realiza o requerimento para a camada de HAL para que seja
possível acessar os recursos do hardware do dispositivos[1].
15

f. Kernel ​Linux - É a camada responsável pela fundação de toda a plataforma do


​ inux além de ser utilizado para disponibilizar as funcionalidades de
Android. O ​kernel L
baixo nível do sistema operacional, é aquele no qual é responsável pelo gerenciamento
de memória, processos e acessos à rede[1].

2.4.2 iOS
O iOS é o sistema operacional móvel desenvolvido pela empresa Apple, sendo atualmente
utilizado em smartphones iPhone e iPod Touch da empresa. A primeira versão desta
plataforma foi lançada em janeiro de 2007 em conjunto com o lançamento do primeiro
iPhone.
A arquitetura do iOS é dividida em quatro camadas, onde cada uma delas dispõe
um conjunto de ​frameworks q​ ue podem ser utilizados durante o desenvolvimento de
aplicações ​mobile.​ Essas camadas da arquitetura do iOS são: ​Cocoa Touch, Media, Core
Services e​ ​Cores ​OS​. ​A organização dessa arquitetura é representada pela Figura 6.

Figura 6 - Arquitetura do iOS. Fonte: Apple Inc., 2020.

a. Cocoa Touch ​- É a camada de mais alto nível do sistema, onde é definido a


infra-estrutura no qual as tecnologias fundamentais necessitam, como multitarefa,
serviço de notificação Apple ​Push, e​ ntradas baseadas em toque​ e​ entre outros[2].
16

b. Media ​- A camada ​media p​ ossui as tecnologia e as frameworks que são precisas para a
implementação que utilize recursos necessários para multimídia com áudio, vídeos e
gráficos[2].
c. Core Services ​- Esta camada possui serviços fundamentais do sistema no qual todos os
aplicativos utilizam e por ser uma camada que está mais próxima do hardware ela tem
mais acesso às funcionalidades como localização, telefonia, threads e SQLite[2].
​ S - Trata-se de um camada de baixo nível que possui as características
d. Cores O
utilizadas pelas camadas dos níveis superiores, portanto ela é uma camada que é
frequentemente utilizada pelas ​frameworks ​das demais camadas. Ela é utilizada de
forma mais direta pelo desenvolvedor quando há a necessidade de lidar mais
objetivamente com a segurança ou a comunicação com algum acessório de hardware
externo, como o ​bluetooth, ​por exemplo[2].

2.4.3 Flutter
O Flutter é uma ​framework ​de desenvolvimento criada pela empresa Google, tendo sua
primeira versão estável para desenvolvimento lançada em dezembro de 2018. Sendo
totalmente baseado em um conjunto de ferramentas ​User Interface ​(UI) do Google e
código aberto disponibilizado no Git Hub.
Este ​framework ​é desenvolvido utilizando a linguagem Dart, C, C++ e Skia
Graphics Engine, embora sua linguagem padrão utilizada para o desenvolvimento seja o
Dart. Sendo um pouco mais antiga do que o próprio Flutter, a linguagem Dart foi criada em
2011 pelo Google e, sendo uma linguagem script, o objetivo do Dart tratava-se de
substituir o uso do JavaScript no ramo de desenvolvimento, entretanto sua missão não foi
bem sucedida.
Porém, mesmo que não tenha conseguido substituir o Javascript, a linguagem Dart
trouxe uma grande vantagem para a utilização do Flutter, já que com o Dart é possível
realizar o desenvolvimento de aplicações multiplataforma, web e mobile de forma
verdadeiramente nativa para plataformas como Android, iOS, Windows e entre outras a
partir de um único código base, implementando a maior parte de seu sistema (composição,
gestos, animação, estrutura, widgets e entre outros em Dart, facilitando assim o
desenvolvimento dos aplicativos, o custo e a complexidade de produção, tendo em vista
17

que o Flutter tem ferramentas que ajudam no desenvolvimento do design e prototipagem


do projeto[7].

3 Desenvolvimento
Este capítulo contém os materiais e os métodos utilizados para o desenvolvimento deste
trabalho.

3.1 Materiais
O Quadro 1 a seguir apresenta as tecnologias e ferramentas utilizadas para modelagem e
desenvolvimento do trabalho.

Quadro 1 - Ferramentas utilizadas 

Ferramenta Versão Link Funcionalidade

Visual 1.50.1 https://code.visualstudio.com/ Ambiente de


Studio Code desenvolvimento

Flutter 1.22.2 https://flutter.dev/docs/get-started/i Framework d​ e


nstall desenvolvimento

Dart 2.10.2 https://dart.dev/ Linguagem de programação

Git 2.25.1 https://git-scm.com/download/win Controle de versão

Firebase https://firebase.google.com/?hl=pt- Bancos de dados


br

Figma https://www.figma.com/ Prototipagem do design do


aplicativo.

Astah UML 8.2.0 https://astah.net/products/astah-um Modelagem baseada em


l/ UML.

Trello https://trello.com/pt-BR Organização de projeto

PUB.DEV https://pub.dev/ Pacotes para dart/flutter

CEPAberto https://cepaberto.com/ API para buscar localização

Google https://developers.google.com/ APIs para integração com


Developers recursos do google

Facebook https://developers.facebook.com/?l API para integração com


Developers ocale=pt_BR Facebook
18

3.2 Método
O método de desenvolvimento deste projeto contou com a análise de requisitos,
funcionalidades e da modelagem do sistema. Tais atividades foram executadas respeitando
uma ordem, seguindo um ciclo de planejamento iterativo de análise, implementação de
requisitos e prototipação. Este ciclo pode ser visto no diagrama a seguir representado pela
Figura 7.

Figura 7 - Diagrama do ciclo do projeto 

Através de debates de ideias e análises nos aplicativos que existem atualmente e


​ ATUS foi definida e, assim, seus
suas funcionalidades, a ideia do aplicativo ​mobile M
requisitos foram levantados e analisados para que fosse definido suas funcionalidades.
Assim que seus requisitos foram estudados, sendo divididos em requisitos
funcionais e não funcionais, a utilização de diagramas para uma melhor modelagem do
sistema foi realizada, sendo os requisitos funcionais representados em um diagrama de
caso de uso, onde os atores representam os usuários do aplicativo e as funcionalidades
representada por ações. A partir dos requisitos do sistema também foi possível representar
suas unidades de persistência através de um diagrama de entidades e relacionamentos e um
diagrama de sequência.
19

Com os requisitos e a modelagem do sistema definidos, a prototipagem do


aplicativo foi desenvolvida, tendo como preocupação e objetivo a funcionalidade e
acessibilidade que o sistema teria pela visão do usuário, portanto, pesquisas informações a
respeito das funcionalidades e design prático do aplicativo foram realizadas
periodicamente para que se pudesse ter uma visão alheia sobre a aparência e praticidade do
sistema.
A análise, modelagem, prototipação e implementação do sistema foram feitas
utilizando as tecnologias do Quadro 1.
Os testes para verificar as funcionalidades do sistema foram realizados de forma
informal, visando validar suas funções em relação aos requisitos definidos para o sistema,
tendo ajustes durante o desenvolvimento.

3.3 Análise de requisitos

3.3.1 Descrição do sistema


O aplicativo ​mobile MATUS tem como principal objetivo tornar mais acessível e rápido
para as pessoas que exercem o ato de reciclar, a venda e compra de materiais recicláveis,
facilitando a negociação entre ambas as partes. O aplicativo permitirá ao usuário ser tanto
um anunciante e ter seus materiais recicláveis anunciados no aplicativo, como também o
permitirá visualizar os anúncios de outros usuários a fim de comprá-los.
Detendo de filtros que determinarão que tipo de anúncios aparecerão para o usuário
após ele fazer uma busca, o aplicativo deixará mais fácil para o anunciante ter seus
anúncios mais acessíveis e fáceis de encontrar em meio aos demais, e tornará mais prático
para que o comprador possa localizar com mais facilidade os anúncios que o interessa
mais.

O aplicativo irá dispor de um chat interno que facilitará na negociação direta entre
o anunciante e o comprador, de forma que, não será necessário meios de contato externos
por telefone ou outros aplicativos de mensagens de texto para que a negociação seja feita
de forma confortável, prática e rápida.
20

Visando um acesso rápido e seguro, para o desenvolvimento do software móvel,


será necessário integração de API de terceiros, para que seja feito o acesso ao aplicativo, e
também uma arquitetura cliente/servidor para manter os dados da conta do usuário.

3.4 Modelagem do sistema

3.4.1 Funções do Produto


● Manter dados de Usuários (Incluir, Consultar, Alterar);
● Manter dados de Anúncios (Incluir, Alterar, Consultar);
● Manter dados de Conversas (Incluir, Consultar, Alterar);
● Manter dados de Anúncios Favoritos (Incluir, Consultar, Excluir);
● Monetização através de Publicidades do Google AdMob;
● Autenticação de Acesso via Google/Facebook;
● Filtros de anúncios;
● Comunicação interna para negociações;
● Tela de apresentação de primeiro acesso do usuário;
● Apresentar dicas sobre reciclagem ao usuário;

3.4.2 Requisitos de software


​ lutter, que ​utiliza a
O front-end do aplicativo será desenvolvido utilizando a ​Framework F
linguagem de Programação orientada a objetos Dart. Como back-end será utilizado o
Firebase, que será responsável pelo armazenamento de dados, realizando-o em nuvem,
dispondo também de funções de integração para a monetização do aplicativo e
autenticação de acesso. Para o versionamento de código do aplicativo, será utilizado o Git.

3.4.3 Característica do Usuário


O aplicativo MATUS tem como público-alvo principal, pessoas que praticam ou querem
praticar o ato de reciclar ou vender seus materiais recicláveis de forma mais prática e
rápida. Esses utilizadores devem possuir conhecimentos básicos referente a estrutura de um
aplicativo móvel.

3.4.4 Restrições
● O aplicativo deverá possuir conexão com a internet para o funcionamento.
21

● O aplicativo não deverá fazer o controle financeiro, somente a ponte entre os


utilizadores.
● O aplicativo deverá executar em uma rede (cliente/servidor), empregando os SO’s
Android e iOS.
● O utilizador deverá ter uma conta da google ou facebook para conseguir utilizar a
maioria das funcionalidades do aplicativo.
● O aplicativo deverá suportar dispositivos com Android Jelly Bean, v16, 4.1.x ou
versões posteriores, e iOS 8 ou versões posteriores.

3.4.5 Suposições e dependências


Não aplicável.

3.4.6 Requisitos funcionais


● Requisito Funcional 1: O sistema deverá permitir ao usuário realizar a manutenção
dos dados de acesso do mesmo (Nome, Foto).
● Requisito Funcional 2: ​O sistema deverá ​permitir ao usuário anunciante de materiais
fazer a manutenção dos itens (Título, Descrição, Unidade de Medida, Preço, Categoria,
Peso, CEP, Imagem, Endereço).
● Requisito Funcional 3: ​O sistema deverá ter a possibilidade de efetuar acesso através
de uma conta do Facebook ou Google.
● Requisito Funcional 4: O sistema deverá permitir ao usuário iniciar conversa com o
anunciante através do anúncio.
● Requisito Funcional 5: ​O sistema deverá ter uma tela de apresentação para novos
usuários.
● Requisito Funcional 6: ​O sistema deverá permitir somente usuário logados
conseguirem anunciar.
● Requisito Funcional 7: ​O sistema deverá permitir somente usuário logados
conseguirem acessar as telas de conversas, mensagens e perfil.
● Requisito Funcional 8: ​O sistema deverá permitir ao usuário filtrar a localização do
anúncio.
● Requisito Funcional 9: ​O sistema deverá permitir aos usuários marcar anúncios como
favoritos para visualização posterior.
22

● Requisito Funcional 10: ​O sistema deverá mostrar dicas de recicláveis ao usuário.


● Requisito Funcional 11: ​O sistema deverá permitir que o usuário busque por um
anúncio específico através da pesquisa de anúncios.
● Requisito Funcional 12: O sistema deverá permitir ao usuário assistir publicidades do
Google AdMob ao criar um anúncio.

3.4.7 Requisitos não funcionais


● Requisito não funcional 1: O sistema deverá deverá executar em diferentes sistemas
operacionais móveis.
● Requisito não funcional 2: ​O sistema deverá ter controle de versão no Git.
● Requisito não funcional 3: ​O sistema deverá sempre estar disponível.
● Requisito não funcional 4: ​O sistema deverá ter a orientação da tela somente no modo
retrato

3.4.8 Diagrama de caso de uso


Com base nos requisitos funcionais e não funcionais abordados nos tópicos anteriores, foi
elaborado um caso de uso para ilustrar e trazer uma melhor visão de como seria o
aplicativo mobile e suas funcionalidades. A Figura 8 a seguir irá apresentar o caso de uso
do projeto:
23

Figura 8 - Diagrama de Caso de Uso 

3.4.9 Diagrama de classes


A Figura 9 a seguir apresenta o diagrama de classes do projeto, sendo uma representação
da estrutura e das relações entre as classes que servem de modelo para objetos, contendo
também com seus atributos e métodos utilizados para operações do aplicativo.
24

Figura 9 - Diagrama de classes 

3.4.10 Prototipagem do sistema


A prototipação de um software trata-se de um processo onde serão realizadas as avaliações
acerca das ideias apresentadas para o projeto, de forma que seja possível visualizar melhor
as funcionalidades e recursos que estarão sendo utilizados e como os requisitos do sistema
serão atendidos.
De acordo com o livro Design Thinking – Inovação em negócios, “o protótipo é a
tangibilização de uma ideia, a passagem do abstrato para o físico de forma a representar a
realidade – mesmo que simplificada – e propiciar validações”[15].
A prototipação das telas da aplicação ​mobile d​ este projeto foi realizada utilizando a
ferramenta Figma, citado anteriormente no Quadro 1. A seguir serão apresentadas algumas
figuras que apresentam a prototipação de algumas telas do aplicativo.
25

Figura 10 - Tela inicial dos anúncios

A Figura 10 apresenta a tela inicial onde estão contidos os anúncios publicados no


aplicativo pelos usuários, sendo possível visualizar a organização dos anúncios, a barra de
menu que auxilia a navegação do usuário pelo aplicativo e suas telas, também
apresentando como o anúncio seria exibido após o usuário acessá-lo, possuindo
informações como nome, descrição, quantidade, local e algumas outras opções, como
conversar com o anunciante ou marcar o anúncio como favorito.
26

Figura 11 - Protótipo de telas de filtros de anúncios.

A Figura 11 apresenta a prototipagem das telas de filtros dos anúncios do


aplicativo, tendo a opção de filtrar por localização, selecionando o estado, cidade e o bairro
na qual o anúncio está localizado, possuindo também diversos filtros categorizados como,
por exemplo, o tipo de reciclável ​(​Papel, papelão, vidro e etc​)
27

Figura 12 - Protótipo de tela de conversas

A prototipação das telas de conversas do aplicativo apresentada na Figura 12


consiste na tela inicial das telas de conversas do aplicativo, responsável por mostrar todas
as conversas existentes do usuário e uma tela contendo a estrutura utilizada para a
conversação do usuário remetente com o usuário destinatário.

4 Resultados
Este capítulo visa apresentar os resultados deste projeto, abordando as telas finais e a
implementação que foram utilizadas para a estruturação e desenvolvimento do aplicativo
mobile q​ ue tem como função auxiliar seus usuários na compra e venda de materiais
recicláveis.
28

4.1 Apresentação do sistema


As figuras apresentadas a seguir representam o layout final da aplicação móvel
desenvolvida neste projeto.
A Figura 13 apresenta a tela inicial dos anúncios do aplicativo, contendo todos
anúncios existentes e possuindo botões que permite ao usuário fazer uma filtragem dos
anúncios exibidos na tela através de categorias do tipo de reciclável, sendo elas: papel,
plástico, vidro, metal, madeira, bateria, peças e óleo.
Todas as telas do aplicativo possuem uma barra de navegação horizontal na parte
inferior da tela, mostrando o caminho para outras telas a fim de facilitar a utilização do
aplicativo para o usuário.

Figura 13 - Tela inicial dos anúncios 


29

Na Figura 14 é apresentado uma tela que tem como objetivo informar através de
uma mensagem exibida que não houve sucesso em encontrar o anúncio buscado pelo
usuário. 

Figura 14 - Tela de nenhum anúncio encontrado

É permitido também que o usuário faça uma busca específica através do botão de
pesquisa no canto superior direito da tela e realize uma filtragem dos anúncios através do
filtro de localização como é apresentado na Figura 15.
30

Figura 15 - Telas de filtros dos anúncios 

A Figura 16 a seguir apresenta a tela que permite que o usuário crie anúncios de
seus materiais recicláveis para venda, sendo acessada assim que o usuário clica no botão
central da barra de navegação. Para que a criação de um anúncio seja bem sucedida, o
usuário deve preencher os campos solicitados, sendo eles: fotos, título, descrição, preço,
peso (opcional), medida (opcional), categoria e CEP.
31

Figura 16 - Tela de criar anúncios 

Na Figura 17 é apresentado a tela de dicas de materiais recicláveis do aplicativo,


consistindo em botões separados por categorias dos materiais recicláveis, que ao serem
selecionados irão apresentar uma tela contendo uma dica para descarte, reutilização ou
reciclagem correspondente ao tipo de material selecionado. 
32

Figura 17 - Tela de dicas de reciclagem 

A Figura 18 apresenta a tela de conversas do aplicativo, onde é possível que os


usuários troquem mensagens a respeito de um anúncio para que haja uma decisão de
negócio e também visualizar todas as conversas enviadas ou recebidas do usuário. Esta
funcionalidade pode ser acessada através da barra de navegação localizada no canto
inferior da tela ou através de um botão que tem como tarefa encaminhar o usuário
interessado até o chat com o anunciante do anúncio selecionado para que se inicie uma
conversa.  
33

Figura 18 - Tela de mensagens 

Na Figura 19 é apresentado a tela de “meus anúncios”, contendo todos os anúncios


publicados pelo usuário, onde há as opções de excluir ou alterar um anúncio. Esta tela pode
ser acessada através do botão de perfil do usuário localizado na barra de navegação do
aplicativo.  
34

Figura 19 - Tela de meus anúncios 

Na Figura 20 é apresentado a tela de configurações da conta, onde é permitido que


o usuário altere sua foto de perfil ou realize o logout no aplicativo. 
35

Figura 20 - Tela de configuração da conta

4.2 Implementação do sistema


Para o desenvolvimento deste projeto a linguagem de programação Dart foi aplicada
​ lutter, sendo esta utilizada para o desenvolvimento de aplicações
através da ​framework F
móveis. A seguir, serão apresentadas algumas implementações realizadas para o
desenvolvimento da aplicação deste projeto.
36

Figura 21 - Uso da API CEPAberto 

Na Figura 21 é mostrado a função que é responsável por realizar a requisição da


API CEPAberto, a fim de retornar os dados de um determinado CEP digitado por um
usuário.
37

Figura 22 - Atributos e Métodos de um Model 

Na Figura 22 é apresentado a classe model responsável por criar o objeto do


endereço do anúncio, demonstrando também algumas de suas funcionalidades. 
38

Figura 23 - Exemplo de Estilização de uma Tela 

A Figura 23 apresenta um exemplo de um código com a estilização de uma


determinada tela, feita utilizando o Material Design. 
39

Figura 24 - Pacotes usados no projeto 

Na Figura 24 é apresentado todos os pacotes/bibliotecas que foram aplicados no


projeto, sendo que todos esses pacotes foram obtidos através do site Dart Packages[5].
40

Figura 25 - Utilização do Google AdMob 

Na Figura 25 é apresentado a função responsável por gerar os anúncios do google


AdMob
41

Figura 26 - Exemplo de uma requisição do Firebase 

Na Figura 26 é apresentado a função que realiza a requisição dos dados


armazenados no Firebase, retornando uma lista de objetos. 

5 Considerações finais
Levando em consideração o crescimento do acesso à internet, em especial por meio dos
dispositivos móveis, este trabalho teve como objetivo desenvolver um aplicativo ​mobile
para dispositivos móveis, usando tecnologias que possibilitaram o desenvolvimento para
Android e iOS, sendo as plataformas móveis mais utilizadas atualmente, visando pessoas
interessadas em reciclagem. Assim sendo, perante o interesse e necessidade das pessoas em
atividades e práticas mais sustentáveis, o aplicativo trabalha para trazer a facilitação da
negociação entre os usuários do aplicativo que estejam interessados em vender ou comprar
os materiais recicláveis anunciados nesta aplicação, de forma que torna possível
reaproveitar tais materiais e ainda trazer uma renda extra aos anunciantes.
42

Para que o desenvolvimento deste trabalho pudesse ser realizado de forma bem
sucedida, pesquisas, estudos e o conhecimento em programação e na utilização de outras
tecnologias utilizadas durante o processo foram muito importantes, refletindo diretamente
​ ara que os objetivos deste trabalho pudessem ser
nas funcionalidades da aplicação ​mobile. P
concluídos, também foi preciso que etapas como levantamento de requisitos, modelagem e
análises acerca do sistema de forma sistemática foram aplicados, tornando possível que os
autores deste trabalho pudessem não só aplicar os conhecimentos práticos obtidos ao longo
do curso de sistemas de informação, como também o uso de conhecimentos elementos
teóricos e tecnológicos foram aplicados ao longo do desenvolvimento do projeto.
Com a utilização da ​framework ​Flutter para o desenvolvimento de uma aplicável
móvel multiplataforma de forma nativa com o Dart, foi possível obter uma interface
organizada e de fácil manuseio, tanto em um ambiente Android quanto em um ambiente
iOS, este projeto atingiu os resultados esperados, ao que pode ser utilizado por pessoas
interessadas em descartar seu lixo de maneira mais sustentável e gerar uma remuneração
pela venda do material.

Referências
[1] ANDROID.​ Arquitetura da plataforma: Desenvolvedores Android​. Disponível em:
https://developer.android.com/guide/platform?hl=pt-br. Acesso em 17 out. 2020.
[2] APPLE INC​. Mac Technology Overview​. Disponível em:
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_
Technology_Overview/About/About.html#//apple_ref/doc/uid/TP40001067-CH204-TP
XREF101. Acesso em: 18 out. 2020.
[3] BOAS ATITUDES & SUSTENTABILIDADE. ​Quem Somos​. Disponível em:
https://boasatitudes.com.br/quem-somos.html. 16 set. 2020.
[4] CATAKI. ​Por que Cataki?.​ Disponível em: https://www.cataki.org/pt/. Acesso em: 16
set. 2020.
[5] PUB.DEV. Dart Packages. https://pub.dev/. Acesso em: 13 ago. 2020.
[6] FGV.​ Brasil tem 424 milhões de dispositivos digitais em uso, revela a 31ª Pesquisa
Anual do FGVcia​. Disponível em:
https://portal.fgv.br/noticias/brasil-tem-424-milhoes-dispositivos-digitais-uso-revela-31
a-pesquisa-anual-fgvcia. Acesso em: 14 set. 2020.
[7] FLUTTER.​ FAQ​. Disponível em: https://flutter.dev/docs/resources/faq. Acesso em: 17
out. 2020.
[8] JUNTUNEN, A.; JALONEN, E.; LUUKKAINEN, S. ​HTML 5 in Mobile Devices –
Drivers and Restraints​ in 46th Hawaii International Conference on System Sciences,
43

2013.
[9] KANTAR. ​Android vs. iOS Smartphone OS sales market share evolution.
Disponível em:
https://www.kantarworldpanel.com/global/smartphone-os-market-share/. Acesso em 15
out. 2020.
[10] LUNDEN, I. ​Android Remains The Outsized Giant At 70% Of Smartphone
Sales, Phablets And iPhone 5c Make Waves: Kantar​. Disponível em:
https://techcrunch.com/2014/02/23/kantar-smartphone-sales-android/. Acesso em: 15
out. 2020.
[11] MARASCIULO, M. ​Por que o Brasil ainda recicla tão pouco (e produz tanto
lixo)?​. Disponível em:
https://revistagalileu.globo.com/Ciencia/Meio-Ambiente/noticia/2020/02/por-que-o-bra
sil-ainda-recicla-tao-pouco-e-produz-tanto-lixo.html. Acesso: 13 set. 2020.
[12] NETO, V; et al (Org.) ​Cempre Review 2019​. São Paulo: Braspor, 2019.
[13] OLX. ​Central de Ajuda​. Disponível em:
https://ajuda.olx.com.br/s/article/quem-somos. Acesso em: 16 set. 2020.
[14] RECYCLE COACH.​ Who We Are: Recycling Education, Simplified​. Disponível
em: https://recyclecoach.com/about-us/. 16 set. 2020.
[15] SILVA, M; FILHO, Y; ADLER, I; LUCENA, B; RUSSO, B.​ Design Thinking -
Inovação em Negócios. ​Rio de Janeiro: MJV Press, 2012.
[16] SOUZA, L.​ Brasil gera 79 milhões de toneladas de resíduos sólidos por ano​.
Disponível em:
https://agenciabrasil.ebc.com.br/geral/noticia/2019-11/brasil-gera-79-milhoes-de-tonela
das-de-residuos-solidos-por-ano#:~:text=Comparando com os países da,segundo a ONU
Meio Ambiente). Acesso em: 13 set. 2020.
[17] WWF.​ Brasil é o 4º país do mundo que mais gera lixo plástico​. Disponível em:
https://www.wwf.org.br/?70222/Brasil-e-o-4-pais-do-mundo-que-mais-gera-lixo-plastic
o. Acesso em: 14 set. 2020.

Você também pode gostar