Compra e venda via leilão On Line
Uma empresa disponibilizou um ambiente onde pessoas podem anunciar produtos para a venda e negociá-los de maneira online.
A ideia é que usuários se cadastrem, assumindo imediatamente o papel de vendedor ou comprador. Quando um usuário se loga no sistema (para isso ele precisa estar cadastrado) ele acessa em sua máquina um menu com duas opções básicas: comprar ou vender.
Opção vender.
Quando o usuário escolhe a opção vender, ele deve informar o que ele pretende vender (para simplificar, apenas o nome do produto), e seu preço inicial para leilão. A partir daí este produto passa a estar disponível para os demais.
Opção comprar.
Quando o usuário escolhe a opção comprar, ele recebe uma mensagem com a lista de todos os produtos que estão sendo oferecidos (cada um identificado por um número, para facilitar a interface) e pode escolher algum deles para dar um lance. Neste caso ele deve informar o número do produto e o valor do lance, que não poderá ser inferior ao mínimo estabelecido pelo vendedor.
Lances, recusas e vendas.
Quando um usuário escolhe um produto e faz um lance, uma de quatro coisas podem acontecer. Ele pode conseguir a aquisição do produto, ele pode ter seu lance recusado pelo vendedor, o produto pode já estar vendido ou ele pode entrar na fila de espera.
Aquisição.
Quando um lance é aceito pelo vendedor, ele confirma isto no sistema e o comprador recebe uma mensagem informando que a venda foi concretizada. O produto, então, sai da lista de itens. Qualquer tentativa de adquirí-lo deve gerar uma mensagem informando que este não está mais disponível.
Recusa do lance.
Se o vendedor recusa um lance, então isto é informado ao comprador.
Produto indisponível.
Caso algum lance se refira a um produto previamente vendido, o comprador deverá receber esta informação do sistema.
Fila de espera.
Enquanto um lance não for analisado (aceito ou recusado), os demais lances devem permanecer numa fila de espera. À medida em que o vendedor for recusando, os demais vão avançando na fila e passam a serem analisados. O vendedor só pode analisar um lance por vez. Caso algum lance seja aceito, todos os demais lances devem se cancelados e os compradores devem receber a mensagem de produto indisponível. Todo usuário que for colocado numa fila de espera deve receber uma mensagem informando isto.
Arquitetura do sistema
Haverá um servidor central que controlará os produtos em oferta, os lances e as mensagens. Para cada usuário haverá uma aplicação que implementa a interface com as opções Vender (e então deve-se informar o produto e o preço mínimo) ou comprar (e então o usuário recebe uma lista de itens à venda e deve informar o número do produto e o lance, que só pode ser aceito se superar o valor mínimo).
As mensagens enviadas pelo servidor devem aparecer na tela dos usuários. A figura abaixo ilustra a arquitetura a ser implementada.
Equipes
Permite-se equipes formadas com no mínimo 1 e no máximo 4 pessoas.
As equipes propostas podem ser formadas livremente, devendo ser enviadas para o e-mail do professor até a meia-noite do dia 22/01/2016.
Caso algum estudante não esteja em alguma das equipes formadas espontaneamente até a meia-noite do dia 22/01/2016, então ele será colocado compulsoriamente em alguma equipe formada pelo professor.
Entregáveis.
O projeto deve ser apresentado em plena funcionalidade, respeitando os requisitos e a arquitetura definidos.
Observações.
a. Interface é legal, mas não aumenta nota.
b. Firewals e demais idiossincrasias da rede da UESC devem ser resolvidos pela equipe. Teste seu sistema antes do dia da entrega.
c. Uma arguição individual será feita a fim de garantir que cara membro da equipe efetivamente trabalhou no projeto.
Equipes
André Cardoso
Caique Santana
Giovanne Almeida
Luiza Guterres
Nilo Varela
Álef Carlos de Jesus
Gersiline Beatriz S Oliveira
Italo Pinto
Dárcio Silva
Gustavo Fragoso
Matheus Cardoso
Messias Vituriano
Equipes Compulsórias
ALBERT PAIXAO SANTANA
DANNIEL ARAUJO DE OLIVEIRA
ELOY GUIMARAES PIRES
JANAI MACIEL DA SILVA
JOSE CARLOS DA SILVA ADAO
LUCAS MANOEL MENDES SANTOS
MARCOS PAULO MALTA OLIVEIRA
THALES SANTOS SOUZA