# SKY STORE **Erick Vinicius Oliveira de Paiva** **Maria Clara Sales Jabali Maruch** **Pedro Vítor Felix da Costa** --- _Curso de Engenharia de Software, Unidade Praça da Liberdade_ _Instituto de Informática e Ciências Exatas – Pontifícia Universidade Católica de Minas Gerais (PUC MINAS), Belo Horizonte – MG – Brasil_ --- A Sky Store consiste em uma plataforma web que disponibilza artes da cliente em questão para venda, além de disponibilzar os serviços de design realizados individualmente por ela. Com isso, o objetivo principal desse projeto é prover uma forma automatizada de realizar o processo completo de compras de artes prontas, e também fazer encomendas personalizadas de artes digitais. Ademais, a plataforma irá conter, também, todo o portifólio da cliente, tal como suas artes já realizadas além de suas informações pessoais. Assim, com a implementação em código feita pela equipe de desenvolvimento, foi possível obter não somente todas as funcionalidades citadas anteriormente, como também um perfil em que é possível o usuário alterar os dados pessoais de sua conta e visualizar seu histórico de compras, além da ordem de pedido da encomenda. --- ## 1. Introdução 1.1 Contextualização O e-commerce é a abreviação em inglês de comércio eletrônico, que, como o própio nome diz, trata-se de uma plataforma digital para venda de produtos e serviços de trabalhadores autônomos ou empresas. Contudo, apesar de existir tal meio atual para que os trabalhadores autônomos possam vender seus trabalhos, grande parte do processo de venda existente ainda é feito de maneira manual, sem a ajuda de uma plataforma digital. 1.2 Problema Sendo assim, há aproximadamente 4 anos, Danyele Fernandes, estudante de Design na FUMEC e trabalhadora autônoma, tinha um grande problema na venda de seus produtos, uma vez que para ser realizada a venda a ações eram feitas de maneira manual entre ela e o usuário comprador, seja no processo de compra de artes pré disponibilizadas ou no processo de encomenda de uma arte personalizada. Além disso, também havia uma dificuldade para conseguir divulgar seu trabalho, já que seu portifólio não continha todas as informações que era de seu interesse para divulgação. 1.3 Objetivo geral Dessa forma, para proporcionar uma solução para a Danyele, é necessário produzir uma plataforma web em que haverá um time de desenvolvedores front-end e back-end envolvido, o qual deve prover um sistema agradável visualmente para os clientes da Danyele. À essa vista, tal sistema deverá ser possível realizar compras de artes por prateleira, encomendas de artes e ilustrações personalizadas, além de um portfólio único para a Danyele. Outrossim, também deve ser capaz de forncer manutenção de maneira automatizada à cliente. 1.3.1 Objetivos específicos * Realizar metologodia "Design Sprint" como técnica de elicitação para extração de requisitos. * Avaliar qual a melhor tecnologia presente no mercado para prover a solução em código. * Traçar pontos negativos e positivos sobre a tecnologia utilizada. * Impulsionar a divulgação do trabalho da cliente. * Desenvolver a venda de produtos de prateleira. * Desenvolver a venda de produtos por encomenda. 1.4 Justificativas Devido a carência informada de um processo automatizado pela Danyele, o time de desenvolvedores se comprometeu a criar essa plataforma tanto para aprendizado do time sobre as tecnologias React e Firebase, quanto para atender a necessidade aprensentada por ela. ## 2. Stakeholders De maneira clara, há de se afirmar que há uma necessidade por parte de Danyele, no qual nomeamos de "cliente", deseja ter uma plataforma para gerenciar todo o seu processo de venda, além da divulgação de suas informações. Outrossim, do outro lado do negócio em questão, há os usuários, pessoas físicas e jurídicas que desejam obter algum produto da cliente, por meio de uma plataforma dinâmica de aquisição de compras, de modo a facilitar o processo de obtenção dos bens desejados. ## 3. Proposta da solução O sistema é uma plataforma web que possui a página inicial com uma breve explicação sobre a proposta do site e sobre a artista. Na aba encomendas o sistema possuirá uma explicação do processo para realizar encomendas e um link que levará para o primeiro passo deste processo. Na última parte do fluxo de encomendas o usuário preencherá o formulário de envio, que será redirecionado para a cliente e ela possa fazer contato com o usuário e fechar o orçamento da encomenda. Além disso, o site possuíra uma página dedicada para a vendas de arte de prateleira, pré fabricadas pela artista, que serão vendidas digitalmente num formato de e-commerce. O portfólio da cliente será disponibilizado em uma página separada, mostrando tabalhos anteriores e a descrição de cada um deles. Complementando o portfólio, na aba "Sobre Mim" irá conter um texto sobre a Danyele. Porém, não será possível desenvolver algumas funcionalidades para o site, tal como portfólio com interação dinâmica durante a manutenção, portfólio com adição de imagens personalizadas durante a manutenção da cliente, chatbot para interação cliente x usuário dentro da plataforma, área de acompanhamento do processo de produção da arte por encomenda, a disponibilização do download da arte por encomenda e um filtro por proporção e orientação na prateleira. ## 4. Projeto da Solução Tendo definido a proposta de solução, e também feito, por meio do Adobe XD, o protótipo do sistema, é preciso avaliar as ferramentes de desenvolvimento disponíveis no mercado para escolher a que melhor se enquadra no projeto de solução. Assim, o uso de diagrama de classes e caso de uso foi usado de suporte para a escolha. Com isso, foram escolhidas a tecnologia front-end ReactJs para densenvolvimento do projeto visual, o NodeJs como back-end para desenvolvimento do servidor existente, o Firebase como banco de dados não-relacional que irá receber os dados do sistema, o Stripe (API de pagamentos online) para prover o pagamento dos produtos e o Heroku para a hospedagem da plataforma. ## 5. Artefatos principais A partir do processo de Design Sprint, da criação do protótipo e escolha das ferramentas para o desenvolvimento, o software destinado a venda e encomenda de artes digitais foi criado. 5.1. Página Inicial O site inicia na página principal, que exibe um menu para acesso de todas as páginas e um botão principal que leva o usuário ao foco do site, as encomendas. ![Leiaute da pagina incial](Imagens/01-pagina-inicial.png "Leiaute da pagina incial.") 5.2. Encomendas Ao clicar no botão citado acima, o sistema exibe uma página que mostra o fluxograma de como realizar uma encomenda e, ao final da página, existe um botão para iniciar o processo. ![Página de encomendas](Imagens/02-encomendas-inicial-01.png "Página de encomendas.") ![Página de encomendas](Imagens/03-encomendas-inicial-02.png "Página de encomendas.") Um modal se abre e exibe duas imagens com os textos "Ilustração Digital" e "Arte Digital". O processo de encomenda irá se dividir entre essas duas categorias. ![Passo 1 - processo de encomenda](Imagens/04-encomendas-passo-01.png "Passo 1 - processo de encomenda.") 5.2.1. Encomendas - Ilustração Digital No segundo passo, o usuário seleciona o tipo de Ilustração Digital desejado e no terceiro e último passo preenche o formulário com os dados pessoais e a descrição detalhada do produto a ser encomendado. ![Passo 2 Ilustração Digital - processo de encomenda](Imagens/05-encomendas-passo-02-ilust.png "Passo 2 Ilustração Digital - processo de encomenda") ![Passo 3 Ilustração Digital - processo de encomenda](Imagens/07-encomendas-passo-03-ilust.png "Passo 3 Ilustração Digital - processo de encomenda") 5.2.2. Encomendas - Arte Digital Os passos para Arte Digital são bem similares com a encomenda de Ilustrações, o que diferencia são os tipos da passo 2 e formulário na última etapa. ![Passo 2 Arte Digital - processo de encomenda](Imagens/06-encomendas-passo-02-arte.png "Passo 2 Arte Digital - processo de encomenda") ![Passo 3 Arte Digital - processo de encomenda](Imagens/08-encomendas-passo-03-arte.png "Passo 3 Arte Digital - processo de encomenda") 5.3. Prateleira Além de encomendar uma arte digital, é possível que o usuário adquira produtos prontos que são disponibilizados em formato de e-commerce na Prateleira. ![Página de produtos de prateleira](Imagens/10-prateleira.png "Página de produtos de prateleira") 5.3.1. Carrinho de Compras Ao clicar no ícone de carrinho de compras exibido abaixo de cada arte, o sistema abre o modal do carrinho de compras, que também pode ser acessado por um ícone de carrinho no canto direito do menu, similar ao citado anteriormente. ![Carrinho de compras](Imagens/11-carrinho.png "Carrinho de compras") 5.3.2. Checkout Ao pressionar "Comprar" no carrinho de compras, o usuário é direcionado para a primeira etapa do checkout, um formulário a ser preenchido com os dados pessoais ![Formulário de checkout](Imagens/12-checkout-01.png "Formulário de checkout") Na etapa seguinte se escolhe a forma de pagamento, cartão ou boleto. Caso tenha sido escolhido cartão, o usuário deverá preencher os dados de pagamentos requeridos. ![Pagamento por cartão](Imagens/13-checkout-cartao.png "Pagamento por cartão") ![Pagamento por boleto](Imagens/14-checkout-boleto.png "Pagamento por boleto") 5.4. Portfólio Na página do portólio são exibidos trabalhos realizados anteriormente pela cliente. Na primeira página são mostradas apenas as imagens principais de cada trabalho realizado. ![Página do portfólio](Imagens/15-portfolio.png "Página do portfólio") Ao clicar em uma dessas imagens citadas acima, o sistema abre uma nova página que mostra todo o material desenvolvido e uma descrição sobre o processo de criação do projeto. ![Página descrição do portfólio](Imagens/16-portfolio-interno.png "Página descrição do portfólio") 5.5. Perfil do Usuário Após realizar o cadastro e login, o ícone de login no canto direito do menu se transforma no ícone de usuário logado, a partir dele é possível acessar a página de perfil do usuário e a histórico de encomendas. Acessando o Perfil, o usuário encontra o status da última encomenda realizada por ele, além de links para alterar os dados de cadastro e para ver os históricos de compras e encomendas. ![Página do perfil do usuário](Imagens/18-perfil-usuario.png "Página do perfil do usuário") 5.5.3. Alteração de dados Ao selecionar o "Dados pessoais", o site exibe um formulário que possibilita a alteração do nome e e-mail cadastrado. ![Formulário de alterar dados](Imagens/19-alterar-dados.png "Formulário de alterar dados") Ao clicar em "Alterar senha", é exibido um modal para a alteração da senha cadastra. ![Formulário de alterar senha](Imagens/20-alterar-senha.png "Formulário de alterar senha") 5.5.2. Históricos O link "Minhas encomendas" redireciona o usuário para uma página que mostra todas as encomendas realizadas por ele. ![Página do histórico de encomendas](Imagens/21-hist-encomendas.png "Página do histórico de encomendas") O mesmo se aplica ao link "Histórico de compras", o usuário será redirecionado para uma página em que é possível ver todos os produtos de prateleira adquiridos, sendo possível baixá-los pelo botão "Baixar imagem". ![Página do histórico de compras da prateleira](Imagens/22-hist-prateleira.png "Página do histórico de compras da prateleira") 5.6. Manutenção do Site Além disso, foi desenvolvido um sistema de manutenção do site que possibilita a alteração das informações presentes nele. Quando a cliente realiza o login com a conta de administrador, diferentemente do login do usuário, o sistema exibe um ícone com a logo da Sky e clicando nele é possível acessar as páginas de manutenção. A página de manutenção do portfólio mostra todos os itens já inseridos, permitindo adicionar novos itens ou editar os existentes. ![Página de manutenção do portfolio](Imagens/23-manut-portfolio.png "Página de manutenção da prateleira") Ao clicar no "Adicionar item" ou no "Editar", se exibe o formulário abaixo. Quando acesado pelo "Editar", as informações do item inserido são exibidas nos campos do formulário. ![Formulário de manutenção do portfolio](Imagens/24-manut-portfolio-form.png "Formulário de manutenção da portfolio") A página de manutenção da prateleira possibilita que a cliente modifique os dados sobre itens já inseridos, os exclua ou então adicione novos produtos. ![Página de manutenção da prateleira](Imagens/25-manut-prateleira.png "Página de manutenção da prateleira") Os botões "Adicionar item" e "Editar" funcionam de maneira semalhante aos da manutenção do portfólio, o que diferencia é o formulário. ![Formulário de manutenção da prateleira](Imagens/26-manut-prateleira-form.png "Página de manutenção da prateleira") Na página de produtos prateleira os itens podem ser filtrados por categorias do submenu. Essas categorias podem ser editadas e para acessar a página de manutenção do submenu, deve-se pressionar o botão "Submenu Database" na página de manutenção da prateleira. ![Página de manutenção do submenu](Imagens/27-manut-submenu-prat.png "Página de manutenção do submenu") Além disso, foi requisitado pela cliente que as encomendas possuíssem um status de preparação, para o cliente poder acompanhar a encomenda. Sendo assim, a partir do ícone de administrador, no item "Encomendas", é possível acessar a página abaixo, que exibe todas as encomendas solicitadas por usuários. Nessa página é possível editar o status de preparação de cada encomenda. ![Página de manutenção das encomendas](Imagens/29-manut-encomendas.png "Página de manutenção das eencomendas") ## 6. Conclusão Inicialmente foi proposto o desenvolvimento de uma aplicação web que automatizasse o processo de encomendas de artes digitais da cliente. Era esperado a utilização do processo de Desing Sprint para aprofundar nas dores da designer e desenvolver um sistema que fosse compatível com soluções já existentes no mercado. Além disso, tinha-se o intuito de disponibilizar uma plataforma para venda de artes pré-fabricadas e que a aplicação web impulsionasse a divulgação do trabalho e consequentemente as vendas. As ferramentas escolhidas pelos desenvolvedores atenderam as expectativas. O Firebase na versão gratuita atende o número de requisições e quantidade de informações armazenadas pela aplicação, apesar de limitar a estrutração dos dados. O React facilitou o desenvolvimennto do front-end com a utilização de bibliotecas que fornecem alguns componentes pré-prontos. O Stripe possibilitou o integração rápida do pagamento, mas apresentou limitações em relação a tradução das funcionalidades oferecidas. Pode se dizer que os objetivos iniciais foram todos atendidos e que as funcionalidades propostas foram realizadas. O impulsionamento da divulgação do trabalho da cliente será analisado nos próximos meses, a partir do momento que a aplicação começar a ser divulgada. # APÊNDICES **Repositório:** https://github.com/ICEI-PUC-Minas-PPLES-TI/plf-es-2021-2-ti3-6653100-sky-store Do vídeo de apresentação.