hugofpaiva / tpw-p1

Web App de uma loja de aplicações desenvolvida em Django, TPW UA 2020/2021

Home Page:http://hugofpaiva.pythonanywhere.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Este trabalho consistiu na criação de uma Web App cujo objetivo principal é a disponibilização de uma loja de aplicações em Django.

Cada aplicação tem associado um ou mais planos de pagamento (grátis, mensal e anual), uma ou mais categorias e um developer. É permitida a interação dos clientes com as aplicações, através de compras, adição ou remoção destes como favoritos, ou escrever reviews.

Funcionalidades de um cliente

Após efetuar login:

  • É possível visualizar o username e o saldo da conta no canto superior direito.
  • Caso o cliente possua alguma aplicação que expire a subscrição na próxima semana, é disponibilizada a opção de pagar ou não. Para facilitar o teste do Professor a esta funcionalidade, foi colocada uma aplicação com a data de expiração a 30 de novembro sendo que até lá, o aviso deverá aparecer.

Na página Shop:

  • É permitida a utilização dos filtros de forma dinâmica em todos os seus campos, bem como a ordenação, para encontrar as aplicações desejadas.

  • Em cada preview de aplicação, encontra-se a foto, nome e rating médio (estrelas).

Clicando numa aplicação:

  • É possível ver os detalhes da app.

  • É permitido adicionar/remover dos favoritos, comprar a app, ver e adicionar/editar reviews.

Clicando no nome no canto superior direito (nome do utilizador):

Na aba General:

  • É permitida a alteração das definições gerais do cliente.

Na aba Password:

  • É permitida a alteração da password.

Na aba Favorites:

  • É permitdo ver a lista dos favoritos do utilizador, bem como um botão que redireciona para o produto.

Na aba My Apps:

  • É permitido ver uma lista de apps compradas pelo utilizador com informação relevantes como a data de expiração de uma compra, caso seja do tipo de um plano de subscrição.

Funcionalidades de um administrador

Após efetuar o login:

  • É permitido visualizar todas as informações já referidas anteriormente no cliente.

Clicando no nome:

  • É permitido fazer as mesmas alterações e/ou visualizações que o cliente.

Clicando na aba Admin:

Na aba Purchases:

  • É permitido ver o histórico de todas as compras realizadas na aplicação web, assim como qual o cliente que efetuou cada compra.

Na aba Users:

  • É permitido ver a lista de todos os utilizadores da aplicação.

  • É permitido adicionar saldo às contas dos clientes.

Na aba Applications:

  • É permitido ver a lista de todas os produtos disponíveis na aplicação web.

  • É permitido editar os campos dos produtos.

  • No botão Add Product, é permitido adicionar produtos novos e um plano de pagamento base associado a este produto.

Nas abas Add developer/Add category:

  • É permitido adicionar novos developers/categories

Alguns detalhes de implementação:

Para as funções de criação e edição de dados foram utilizados forms do Django.

A implementação base de filtros na página shop utilizou Django Filters assim como a paginação do Django.

Todas as packages necessárias estão no ficheiro requirements.txt.

Autenticação na plataforma

Para utilizar o sistema, são fornecidas duas contas base:

Cliente:

username: cliente12
password: admin111

Administrador:

username: admin
password: admin

Dataset

Alguns dos dados têm como base o seguinte dataset:

https://www.kaggle.com/usernam3/shopify-app-store

As imagens do produtos, desenvolvedores, categorias, entre outros dados foram utilizados.

Nota

Classificação obtida de 17.5 valores em 20.

About

Web App de uma loja de aplicações desenvolvida em Django, TPW UA 2020/2021

http://hugofpaiva.pythonanywhere.com


Languages

Language:HTML 41.7%Language:CSS 32.3%Language:SCSS 10.8%Language:JavaScript 8.6%Language:Python 6.6%