Caso de uso: R7, R5
Para contratar um prestador de serviço, o usuário deve Clicar em
"Contratar", no perfil do prestador de serviço de acordo com a busca
feita. Assim, é aberta uma tela de informações de contato do prestador
como e-mail e telefone.
Figura 22 – Diagrama de Atividades: Contratar Prestador de serviço
4 RESULTADOS OBTIDOS
A realização deste trabalho possibilitou o registro do desenvol-
vimento de uma aplicação web, onde foi dada a devida importância às
etapas que antecedem a implementação de um software, como: pesquisa
de mercado, análise de soluções existentes, modelo do negócio, levanta-
mento de requisitos, utilização de uma metodologia ágil e modelagem
da arquitetura do sistema.
Após o desenvolvimento deste trabalho, realizamos a análise dos
critérios que analisamos na seção 3.2, em relação as soluções existentes
no mercado. Foi possível concluir que o sofware desenvolvido para este
trabalho atende aos seguintes critérios:
Tabela 4 – Análise do software desenvolvido
Análise do software desenvolvido
Critério Atende ao critério
Liberdade de Escolha SIM
Transparência SIM
Orçamento Online NÃO
Pagamento Online NÃO
Diversidade de Serviços SIM
Versão Mobile SIM
Foi possível implementar 10 dos 16 requisitos levantados durante
o desenvolvimento deste trabalho. A seguir os requisitos implementa-
dos:
• Realizar Cadastro
• Realizar Login
• Buscar Serviço
• Buscar Prestador
permitida através da disponibilização das informações de contato
do prestador de serviço
• Visualizar perfil de prestador
• Visualizar dados da conta
• Modificar dados da conta
• Virar prestador de serviço
• Cadastrar Serviço
Os requisitos que não puderam ser implementados, por motivo
de tempo, foram:
• Cancelar serviço
• Avaliar serviço
• Avaliar cliente
• Finalizar serviço
• Acompanhar serviço
• Visualizar histórico de avaliações
Além disso, foi realizada a implantação do sofware na web:
O Back-end foi publicado em uma máquina da Amazon, utili-
zando a plataforma Lightsail (https://aws.amazon.com/pt/lightsail/).
Lightsail é uma plataforma de nuvem que oferece infraestrutura da
AWS. Foi criada uma instância com Linux/UNIX e NodeJS versão
12.7.0. Para subir o servidor, foi utilizado o gerenciador de proces-
sos para tempo de execução PM2 (https://pm2.io/), uma ferramenta
open source para o gerenciamento e deploy de aplicações Node.js em
ambientes de produção. Além disso, para armazenar o MongoDB, foi
utilizado o MongoDB Atlas (https://www.mongodb.com/cloud/atlas),
um serviço cloud do MongoDB, feito para gerenciar e manter os dados
na nuvem. Após hospedado o banco de dados na nuvem, a URL é
utilizada no servidor.
O Front-end, foi hospedado no Netlify (https://www.netlify.com/),
uma plataforma de computação em nuvem, que oferece serviços de hos-
pedagem para sites estáticos.
A aplicação está disponível em https://tccbazzu.netlify.com/.
Para instalar a PWA no dispositivo móvel, é preciso usar o Mozilla
Firefox, pois o netlify não possui um certificado válido que outros nave-
gadores como Google Chrome exigem. Ao instalar o nevegador Mozilla
Firefox, basta acessar a URL da aplicação, e clicar no ícone "casa"com
um ícone mais (+) dentro, clicar em "adicionar a tela inicial", e o apli-
cativo estará disponível no dispositivo móvel.
5 CONCLUSÃO
Com a realização deste trabalho, foi possível aprender na prática
como funciona o desenvolvimento de um software com foco em torná-lo
um produto disponível no mercado, desde a pesquisa de mercado, até
a implantação do software na web. Foi identificada a real dificuldade
de projetar um software e de como o planejamento se mostra essencial
para o desenvolvimento. Foi possível também aprender como desen-
volver uma aplicação PWA, algo que é relativamente novo na área de
desenvolvimento web.
Como trabalhos futuros, foi identificado os seguintes itens a se-
rem implementados, que tornariam o sistema mais completo, e assim,
pronto para competir no mercado:
• Contratação do serviço pela própria plataforma: Hoje, a contra-
tação do serviço é feita fora da plataforma. Ao buscar um presta-
dor de serviços, o usuário visualiza as informações de contato do
prestador e contrata por fora (via whatsApp ou e-mail). O ideal
seria realizar a contratação dentro da plataforma, permitindo uma
maior facilidade para o prestador gerenciar seus serviços e uma
maior segurança, tanto para o prestador quanto para o cliente.
• Galeria e Comentários de avaliações no perfil do prestador de ser-
viços: Importante para ter transparência para o cliente final, per-
mitindo ele visualizar fotos de serviços prestados anteriormente e
comentários de clientes anteriores.
• Avaliar um Serviço e um Cliente: Importante para confiabilidade,
transparência e segurança tanto para quem necessita contratar
um serviço quanto para o prestador de serviço.
REFERÊNCIAS
ABRAMOV, D. Presentational and Container Components. 2015.
Medium. <https://medium.com/@danabramov/smart − and −
dumb − components − 7ca2f 9a7c7d0>.Acessadoem15/11/2018.
AWS, A. S3 Bucket. 2019. S3 Bucket.
<https://aws.amazon.com/pt/s3/>. Acessado em 24/04/2019.
CARVALHO B. V. E MELLO, C. H. P. Aplicação do método
ágil scrum no desenvolvimento de produtos de software em uma
pequenaempresa de base tecnológica. Gest. Prod., p. 16, 2012.
CDC, C. de defesa do consumidor. Lei 8078/90 |
Lei no 8.078, de 11 de setembro de 1990. 1987.
<https://presrepublica.jusbrasil.com.br/legislacao/91585/codigo-de-
defesa-do-consumidor-lei-8078-90>.
CHO, J. Issues and challenges of agile software development with
scrum. Scrum Year Reviews, p. 7, 2008.
CIAPIPE. Os principais desafios na venda de serviços
e como superá-los para obter melhores resultados. 2017.
<https://blog.ciapipe.com.br/venda-de-servicos/>.
DOCUMENTATION, M. Data Model Design. 2018.
<https://docs.mongodb.com/manual/core/data-model-design/data-
modeling-referencing>.
EXPRESS. Express. 2018. Express. <https://expressjs.com/pt-br/>.
Acessado em 24/11/2018.
HEUSER, C. A. Projeto de Bancos de Dados: Série Livros Didáticos.
Rio Grande do Sul: Sagra Luzzato, 1998. 206 p.
HOLDING, A. Global Internet Industry Research.
2016. Avazu Holding. <http://avazuinc.com/wordpress/wp-
content/download/en/Global%20Internet%20Industry%20Research%20-
%20Brazil(Full%20Edition).pdf>. Acessado em 29/05/2018.
LEMOS, A. Cibercultura e Mobilidade. A Era da Conexão.
2005. XXVIII Congresso Brasileiro de Ciências da Comunicação.
<http://www.intercom.org.br/papers/nacionais/2005/resumos/r1465-
1.pdf>. Acessado em 05/09/2015.
LEPAGE, P. Seu primeiro Progressive Web
App. Fevereiro 2018. Google Developers.
<https://developers.google.com/web/fundamentals/codelabs/your-
first-pwapp/?hl=pt-br>. Acessado em 29/05/2018.
MARíLIA. Banco de dados NoSQL: Um novo paradigma. 2012.
<https://www.devmedia.com.br/banco-de-dados-nosql-um-novo-
paradigma-revista-sql-magazine-102/25918>.
MONGODB. MongoDB. 2018. MongoDB.
<https://www.mongodb.com/>. Acessado em 24/11/2018.
MONGOOSE. Mongoose. 2018. Mongoose.
<https://mongoosejs.com/>. Acessado em 24/11/2018.
NAKAMURA, R. E-commerce na internet: Fácil de Entender. Rio
Grande do Sul: São Paulo: Érica, 2001.
NATIONS, D. What Exactly Is a Web Application? Fevereiro 2018.
Lifewire. <https://www.lifewire.com/daniel-nations-1993996>.
Acessado em 29/05/2018.
NGINX. NGINX. 2018. NGINX. <https://www.nginx.com/>.
Acessado em 24/11/2018.
NODEJS. Nodejs. 2018. Nodejs. <https://nodejs.org/en/>. Acessado
em 24/11/2018.
QIPU. Os principais desafios do mercado de prestação de serviço.
2014. <https://www.qipu.com.br/blog/os-principais-desafios-
mercado-de-prestacao-de-servicos/>.
REACT. React. 2018. React. <https://reactjs.org/>. Acessado em
24/11/2018.
REDUX. Redux. 2018. Redux. <https://redux.js.org/>. Acessado em
24/11/2018.
SEBRAE. Como construir um modelo de negócio para sua empresa.
2018. <http://www.sebrae.com.br/sites/PortalSebrae/artigos/como-
construir-um-modelo-de-negocio-para-sua-
empresa,6054fd560530d410VgnVCM1000003b74010aRCRD>.
SEBRAE. Negócios promissores 2019. 2019.
<https://datasebrae.com.br/wp-content/uploads/2019/02/Os-
Neg%C3%B3cios-Promissores-em-2019v5.pdf >.
SEMANTICUI. SemanticUI. 2018. SemanticUI. <https://semantic-
ui.com/>. Acessado em 24/11/2018.
SOMMERVILLE, I. Software engineering. [S.l.]: Pearson, 2011.
SUTHERLAND, J.; SCHWABER, K. Business object design and
implementation. The University of Michigan, p. 118, 1995.
TADEU, W. Cinco tendências para o futuro do serviço em campo.
Janeiro 2017. CanalTech. <https://canaltech.com.br/mercado/cinco-
tendencias-para-o-futuro-do-servico-em-campo-88078/>. Acessado em
29/05/2018.
TYPESCRIPT. Typescript. 2018. Typescript.
<https://www.typescriptlang.org/>. Acessado em 24/11/2018.
URSSI, R. J. S. N. J. U. Como os aplicativos móveis potencializam a
vida urbana. Revista de Iniciação Científica, Tecnológica e Artística,
v. 5, n. 1, 2015.
VALIPOUR, M. e. a. A brief survey of software architecture concepts
and service oriented architecture. Computer Science and Information
Technology, 2009, 2009.
WEBPACK. Webpack. 2018. Webpack. <https://webpack.js.org/>.
Acessado em 24/11/2018.
WIKIPEDIA. Progressive web applications. 2015. Wikipedia.
6 APÊNDICES
Código Back-end: https://github.com/sarahizabel7/tcc-backend
Matheus Gentil, Sarah Esquivel
1
Departamento de Sistemas de Informac¸˜ao – Universidade Federal de Santa Catarina (UFSC)
Florian´opolis – SC – Brasil
Abstract. This paper reports on the development of a web application for online
service contracting, where it is possible to find service providers, view evaluati-
ons and other relevant information about the provider, and contract the service
through the platform, thus ensuring greater reliability, security and reliability.
transparency when hiring a service.
Resumo. Este trabalho relata o desenvolvimento de uma aplicac¸˜ao web para
contratac¸˜ao de servic¸os online, em que ´e poss´ıvel encontrar prestadores de
servic¸o, visualizar as avaliac¸˜oes e outras informac¸˜oes relevantes sobre o pres-
tador, e contratar o servic¸o pela plataforma, garantindo assim uma maior con-
fiabilidade, seguranc¸a e transparˆencia ao contratar um servic¸o.
1. Introduc¸˜ao
No momento atual em que se encontra a sociedade, o uso da tecnologia se faz cada
vez mais presente no cotidiano coletivo, o que tem levado `a criac¸˜ao de sistemas de
informac¸˜ao que facilitam diversas atividades rotineiras. Segundo [URSSI 2015], estes
sistemas tornaram-se ferramentas que passam a ser utilizadas com muita frequˆencia por
diversos tipos de usu´arios, o que, por muitas vezes, as torna uma oportunidade de neg´ocios
para empreendedores regionais.
Com a tecnologia, surgiram v´arias soluc¸˜oes para tornar mais cˆomodas e pr´aticas
atividades rotineiras como realizar compras, pedir comida por telefone, contratar servic¸os,
entre outros. Mesmo assim, muitas pessoas ainda se sentem inseguras em usar a tecnolo-
gia para contratar jardineiros, faxineiras ou pedreiros, por exemplo. Esta inseguranc¸a se
d´a principalmente pelo de que as pessoas n˜ao se sentem seguras e confiantes o suficiente
para contratar servic¸os online. As soluc¸˜oes digitais que se dispoem a atender esse nicho
de mercado, portanto, precisam transmitir mais seguranc¸a e confianc¸a para seus clientes.
Neste contexto, foi constatada a ausˆencia de um sistema web e aplicativos para smartpho-
nes para contratac¸˜ao de servic¸os que possua uma garantia da qualidade do servic¸o que
seja realizado, uma transparˆencia (no sentido de saber quem ser´a contratado), al´em da j´a
citada seguranc¸a.
Desta forma, este trabalho relata o desenvolvimento de uma aplicac¸˜ao web para
contratac¸˜ao de servic¸os, onde ´e poss´ıvel encontrar prestadores de servic¸o, visualizar as
avaliac¸˜oes de usu´arios e outras informac¸˜oes relevantes sobre o prestador, al´em de con-
tratar o servic¸o pela plataforma, garantindo assim uma maior confiabilidade, seguranc¸a e
transparˆencia ao contratar um servic¸o.
2. An´alise do Mercado de Servic¸os
Segundo o estudo feito pelo [Sebrae 2019], o setor de servic¸os tem destaque no grupo de
MEI (Micro Empreendedores Individuais) no Brasil. Este setor aumenta sua participac¸˜ao
categoria (do total de 7,7 milh˜oes de MEI no pa´ıs). Entre 2014 e 2018, a taxa m´edia de
crescimento do n´umero MEI, no setor de servic¸os, foi de 18 % a.a., e apenas em 2018, o
n´umero de MEI do setor de servic¸os cresceu 13 %.
Junto com o crescimento do setor de servic¸os ´e importante tamb´em destacar os
principais desafios. Diferentemente da venda de produtos, onde o cliente tem atributos
palp´aveis para se basear, a prestac¸˜ao de servic¸os ´e um bem intang´ıvel, dif´ıcil de mensurar
e de diferenciar no mercado. Os desafios dessa ´area segundo [Qipu 2014] s˜ao Relaciona-
mento com cliente, captac¸˜ao de Clientes, precificac¸˜ao e proposta de valor.
Para an´alise das soluc¸˜oes existentes, foram considerados os seguintes crit´erios:
• Liberdade de escolha: Liberdade para escolher quem ir´a prestar o servic¸o, atrav´es
de diversas opc¸˜oes de prestadores de servic¸os.
• Transparˆencia: Se a plataforma possibilita saber exatamente quem se pretende
contratar (antes de contratar) para prestar o servic¸o, atrav´es de informac¸˜oes sobre
o prestador de servic¸o e/ou avaliac¸˜oes de outros usu´arios.
• Orc¸amento online: Possibilidade de realizar ou simular um orc¸amento online.
• Pagamento online: Possibilidade de realizar pagamento online, por meio de plata-
forma de pagamento pr´opria ou de terceiros.
• Diversidade de servic¸os: Possui servic¸os para mais de um segmento espec´ıfico.
• Vers˜ao mobile: Possui vers˜ao mobile, ou web responsivo.
]An´alise das Soluc¸˜oes Existentes
Para an´alise das soluc¸˜oes existentes, foram considerados os seguintes crit´erios:
• Liberdade de escolha: Liberdade para escolher quem ir´a prestar o servic¸o, atrav´es
de diversas opc¸˜oes de prestadores de servic¸os.
• Transparˆencia: Se a plataforma possibilita saber exatamente quem se pretende
contratar (antes de contratar) para prestar o servic¸o, atrav´es de informac¸˜oes sobre
o prestador de servic¸o e/ou avaliac¸˜oes de outros usu´arios.
• Orc¸amento online: Possibilidade de realizar ou simular um orc¸amento online.
• Pagamento online: Possibilidade de realizar pagamento online, por meio de plata-
forma de pagamento pr´opria ou de terceiros.
• Diversidade de servic¸os: Possui servic¸os para mais de um segmento espec´ıfico.
• Vers˜ao mobile: Possui vers˜ao mobile, ou web responsivo.
Para a an´alise, foi feito um levantamento de algumas das soluc¸˜oes existentes mais
conhecidas na ´area de contratac¸˜ao de servic¸os: GetNinjas, Parafuzzo, Habitissimo e Sta-
rOfService. A seguir o resultado da an´alise:
3. Modelo de Neg´ocio
Segue abaixo a descric¸˜ao do Modelo de Neg´ocio ou Canvas:
1. Segmentos de Clientes: Os clientes s˜ao os usu´arios que possuem acesso a Inter-
net. Existem dois tipos principais de clientes: os usu´arios prestadores de servic¸o
que querem oferecer servic¸os na plataforma, e os usu´arios jovens, profissionais
ou empresas que precisam contratar algum servic¸o. Cada um desses tipos de cli-
ente formam um segmento, pois possuem interesses diferentes na utilizac¸˜ao da
plataforma.
An´alise plataformas existentes
GetNinjas
Parafuzzo
StarOfServiceHabittisimo
Liberdade
de Escolha
N ˜AO
N ˜AO
N ˜AO
N ˜AO
Transparˆencia N ˜AO
N ˜AO
N ˜AO
N ˜AO
Orc¸amento
Online
N ˜AO
SIM
SIM
N ˜AO
pagamento
Online
N ˜AO
SIM
N ˜AO
N ˜AO
Diversidade
de Servic¸os
SIM
N ˜AO
SIM
SIM
Vers˜ao Mo-
bile
SIM
SIM
SIM
SIM
2. Pospostas de valor: A proposic¸˜ao de valor ´e uma plataforma web que para o pres-
tador de servic¸o, permite atrair novos clientes, aumento da visibilidade no mer-
cado e publicidade com retorno mensur´avel. Para o usu´ario que contrata servic¸os,
permite contratar servic¸os de forma transparente e segura.
3. Canais: O principal canal com o cliente ´e a pr´opria plataforma. Para o prestador
de servic¸o se da atrav´es de cadastro no site e venda direta pela plataforma. Para o
usu´ario que contrata servic¸o, ´e atrav´es de e-mails de marketing, publicidade digital
e rede sociais.
4. Relacionamento com o Cliente: O relacionamento com os clientes ´e virtual,
atrav´es de um FAQ (perguntas mais frequentes) para o prestador de servic¸os e
e-mails e site para os usu´arios que contratam servic¸os.
5. Fontes de receitas: Poss´ıveis fontes de receita a serem utilizados s˜ao a porcenta-
gem da prestac¸˜ao do servic¸o realizado.
6. Recursos principais: S˜ao recursos chaves para garantir o funcionamento do sis-
tema, entre eles, sistemas de tecnologia da informac¸˜ao, a reputac¸˜ao da marca e
recursos humanos.
7. Atividades principais: As atividades chave seriam o prospecto de novos presta-
dores de servic¸o, o marketing e o gerenciamento da contratac¸˜ao de servic¸o.
8. Parcerias principais: As parcerias principais seriam as empresas de prestac¸˜ao de
servic¸o, empresas de pagamento online e empresa de material de construc¸˜ao.
9. Estrutura de custos:
Os principais custos s˜ao os custos com publicidade,
transac¸˜oes financeiras online e recursos humanos.
4. Levantamento de Requisitos
O Back-end e o Front-end foram separados em dois projetos, seguindo o princ´ıpio Se-
paration of Concerns(Separac¸˜ao de Responsabilidades), facilitando a manutenibilidade
dos projetos, e possibilitando o auto escalonamento das plataformas de acordo com a
demanda, mitigando problemas como DoS (Denial of service).
Para versionamento do c´odigo, foi utilizado o Git (https://git-scm.com). Git ´e
um sistema de controle de vers˜ao distribu´ıdo gratuito e de c´odigo aberto, projetado e de-
senvolvido por Linus Torvalds. O Git ´e utilizado principalmente no desenvolvimento de
software. Ele permite manter um hist´orico de todos os pontos de alterac¸˜oes dos projetos,
permitindo tamb´em que cada desenvolvedor trabalhe em uma vers˜ao diferente do mesmo
projeto. Isto impede que, ao realizar alguma alterac¸˜ao, se altere a vers˜ao que outra pessoa
est´a trabalhando, e assim evitando erros que poderiam refletir na vers˜ao de outro desen-
volvedor. Caso seja necess´ario, ´e s´o voltar para uma vers˜ao anterior onde o projeto estava
funcionando.
Para armazenar os dois projetos, foi utilizado o Github (https://github.com), um
gerenciador de reposit´orio de software baseado em git que permite a criac¸˜ao de in´umeros
reposit´orios p´ublicos e privados gratuitamente, assim como in´umeros colaboradores.
Dentre os recursos que o Github fornece est˜ao ferramentas de revis˜ao de c´odigo, suporte a
Wiki, rastreamento de erros, branchs privadas e sistema de CI/CD (Continuos Integrations
e Continuos Delivery).
6. Entidades do Sistema
A principal decis˜ao em projetar modelos de dados para aplicac¸˜oes que utilizam o Mon-
goDB gira em torno da estrutura de documentos e de como a aplicac¸˜ao representa os rela-
cionamentos entre os dados. Temos duas formas para modelar os dados: modelo de dados
incorporados e modelo de dados normalizados. O modelo de dados incorporados permite
que dados relacionados sejam incorporados em um ´unico documento. J´a o modelo de
dados normalizados descrevem relacionamentos usando referˆencias entre documentos.
Para arquitetar o banco de dados deste projeto, decidimos utilizar o modelo de
dados incorporados, que por incorporar estruturas de documentos em um campo ou ma-
triz dentro de um documento, esse modelo de dados desnormalizados permite que as
aplicac¸˜oes recuperem e manipulem dados relacionados em uma ´unica operac¸˜ao de banco
de dados.
Os modelos de dados incorporados permitem que as aplicac¸˜oes armazenem
informac¸˜oes relacionadas no mesmo registro do banco de dados. Como resultado, as
aplicac¸˜oes podem precisar enviar menos consultas e atualizac¸˜oes para concluir operac¸˜oes
comuns.
Para realizar a modelagem do banco de dados, foi utilizada a notac¸˜ao baseada
em agregados para representar, em n´ıvel l´ogico, banco de dados NoSQL de documento,
desenvolvida pelo grupo de banco de dados da Universidade Federal de Santa Catarina
(GBD/UFSC).
7.1. Cadastro de Usu´ario
Para se cadastrar no sistema, o usu´ario deve clicar em ”Cadastrar-se”, e preencher as
informac¸˜oes como Nome, Sobrenome, Email e Senha. Uma requisic¸˜ao POST ´e feita `a
API, que recebe os dados e salva no banco de dados. Em caso de sucesso no cadastro, o
usu´ario ´e automaticamente logado no sistema.
7.2. Login de Usu´ario
Para se logar no sistema, o usu´ario deve clicar em ”Entrar”, e preencher o e-mail e senha.
Uma requisic¸˜ao POST ´e enviada `a API que gera um Token de autenticac¸˜ao e retorna esse
Token junto com as informac¸˜oes do usu´ario.
7.3. Upgrade de conta
O Upgrade de conta acontece quando um usu´ario comum do sistema decide se tornar um
prestador de servic¸o. Para realizar a operac¸˜ao, o usu´ario deve clicar em ”Torne-se um
profissional”, e preencher informac¸˜oes como o CPF, Telefone e Sexo. Uma requisic¸˜ao
POST ´e feita `a API, com as informac¸˜oes, e o Back-end salva esses dados no banco de
dados, e retorna sucesso ou erro ao Front-end.
7.4. Visualizar e modificar dados da conta
Em ”Minha conta
”Meus dados”, ´e poss´ıvel visualizar e modificar informac¸˜oes da conta
do usu´ario. Ao editar alguma informac¸˜ao, uma requisic¸˜ao PUT ´e feita `a API, enviando os
dados modificados, assim, o Back-end faz a modificac¸˜ao no banco de dados, e retorna as