O projeto é uma aplicação web com Ruby on Rails que serve para conectar o público com itens que são abandonados, permitindo que esses itens sejam comercializados novamente. O formato escolhido foi o de leilão de itens. Este projeto faz parte da primeira etapa de treinamento do TreinaDev.
Ao executar o comando de seed, serão criados os seguintes registros no banco de dados:
- 2 usuários administradores.
- 2 usuários comuns.
- 15 produtos.
- 2 lotes de leilão ativos que ainda não iniciaram.
- 2 lotes ativos que já iniciaram.
- 2 lotes ativos que estão prestes a ser encerrados e tiveram lance.
- 2 lotes que podem ser cancelados por não terem nenhum lance.
- 2 lotes aguardando aprovação.
- 3 produtos que não foram associados a nenhum lote.
Esses registros fornecem uma base inicial para o funcionamento do sistema, permitindo testar diferentes funcionalidades, como a criação de leilões, lances, cancelamento de lotes e associação de produtos.
É importante observar que essas informações são fictícias e foram criadas exclusivamente para fins de desenvolvimento e teste do projeto.
✔️ Cadastro de produtos disponíveis para venda
✔️ Configuração de lotes, datas e lances mínimos para leilões
✔️ Acompanhamento de lances recebidos nos lotes
✔️ Criação de conta para usuários regulares/visitantes
✔️ Busca por produtos em lotes existentes
✔️ Detalhes de produtos
✔️ Fazer uma oferta (se ainda possível)
✔️ Marcar Lote como favorito
✔️ Bloquear um CPF
No terminal, clone o projeto:
git clone https://github.com/ThiagoDFi/auction-app.git
Entre na pasta do projeto:
cd auction-app
Execute o comando bundle, para instalar todas as dependências do projeto.
bundle install
Execute o comando migrate, para realizar as migrações do banco de dados.
rails db:migrate
Execute o comando seed, para popular a aplicação com dados de exemplo.
rails db:seed
Por fim, execute o comando server, para iniciar o servidor de desenvolvimento.
rails server
Acesse a aplicação em seu navegador através do endereço http://localhost:3000.
Para executar os testes automatizados da aplicação entre no diretorio da aplicação e execute os comandos abaixo:
Testes de Sistema:
$ rails spec:system
Testes de Request:
$ rails spec:requests
Testes de Models:
$ rails spec:models
Testes de Helpers:
$ rails spec:helpers
Para rodar todos os testes juntos:
$ rspec
A aplicação contém dois tipos de usuários, o administrador e o cliente. Cada perfil possui visualizações e ações diferentes. O administrador é responsável por gerenciar o site, sendo assim, apenas usuários administradores são capazes de cadastrar produtos, lotes, adicionar item, aprovar e finalizar um lote. Por ser um perfil de gerenciamento ele não pode realizar lances em lotes disponíveis, todo usuário que se cadastrar na plataforma com o domínio @leilaodogalpao.com.br são automaticamente adicionados ao perfil de administrador.
O cliente por sua vez possui suas ações limitadas a realizar lances em lotes disponiveis, realizar buscas por produtos ou IDs de lotes e consulta se ganhou um lote que tenha participado.
📝 Dúvidas sobre um lote
Este projeto foi desenvolvido por Thiago Firmino.
GitHub: ThiagoDFI