Esta aplicação foi desenvolvida para gerenciar inscrições em eventos, conectando participantes com interesses em comum. A ideia principal é oferecer funcionalidades que permitam a organização de eventos, a interação entre participantes e a compra de ingressos.
- Lista de eventos publicados com data a partir do dia atual.
- Exibição de detalhes como:
- Descrição completa.
- Nome do organizador.
- Agenda do evento.
- Valor do ingresso.
- Botão para compra de ingresso (se disponível) ou mensagem de esgotado.
- Cadastro de novos usuários com nome, sobrenome, cpf, e-mail e senha.
- Possibilidade de completar o perfil com:
- Links para redes sociais.
- Cidade, estado e telefone.
- Salvar eventos como favoritos.
- Visualizar lista de ingressos adquiridos.
- Escolha de ingressos disponíveis na página de detalhes do evento.
- Compra com status temporário de “ingresso confirmado”.
- Exibição de ingressos comprados na seção "Meus ingressos".
- Cada ingresso confirmado possui:
- Token único de 36 caracteres alfanuméricos.
- QR Code gerado para controle de acesso.
- Registro de utilização do ingresso:
- Apenas uma vez por dia configurado no evento.
- Solicitação de lembrete para eventos futuros sem ingressos disponíveis.
- Envio de e-mail no dia da abertura de vendas de ingressos.
- Feed para postagens entre participantes com ingresso confirmado.
- Recursos do feed:
- Suporte a texto enriquecido.
- Upload de imagens.
- Curtidas e comentários.
- Resumo das últimas 10 postagens na página inicial do usuário.
- Comunicados oficiais destacados, sem curtidas ou comentários.
- Após o evento, usuários podem fornecer feedback:
- Feedback geral ou específico por item da agenda.
- Público ou anônimo.
- Feedbacks públicos aparecem no feed do evento.
- Organizadores têm acesso a todos os feedbacks.
-
Setup:
- Ruby 3.3.2+
- Rails 8.0.1+
- SQLite
-
Gems:
- devise - Autenticação e autorização.
- faraday - Biblioteca HTTP para fazer requisições.
- rspec-rails - Framework de testes.
- capybara - Ferramenta de teste que simula a interação do usuário com a aplicação.
- rubocop-rails-omakase - Conjunto de regras para manter o código limpo e consistente.
- cuprite - Driver de teste para Capybara usando o Chrome DevTools Protocol.
- simplecov - Gera relatórios de cobertura de código.
- factory_bot_rails - Biblioteca para criar dados de teste de forma fácil e limpa.
- shoulda-matchers - Fornece matchers para testes RSpec que simplificam a escrita de testes.
- cpf_cnpj - Gera cpf e cnpj fictícios para testes e válidações.
Para construir o projeto, siga estas etapas:
# Abra o terminal (Prompt de comando ou PowerShell para Windows, Terminal para macOS ou Linux)
# Clone este repositório:
git clone https://github.com/TreinaDev/participants-app.git
# Navegue para a pasta do projeto:
cd participants-app
# Instale as dependências:
bundle install
# Crie e migre o banco de dados:
rails db:create
rails db:migrate
# Também é possível rodar as seeds para popular o banco com dados iniciais:
rails db:seed
# Pré-compile os assets estáticos para melhorar visualização do css
rails assets:precompile
# Execute o servidor:
bin/dev
Acesse a aplicação:
Abra seu navegador e acesse http://localhost:3000
para ver o participants-app em funcionamento.
Login no Sistema: Para se logar com o usuário criado pelas seeds, use os seguintes dados:
- Email:
master@email.com
- Senha:
123456
- Execute os testes:
rspec
Cristiano Santana |
César Faustino |
David Bolivar |
Gabriel Ribeiro |
João Branco |
Samuel Rocha |
---|