Skip to content

TreinaDev/participants-app

Repository files navigation

Participants-App | Gerenciamento de Inscrições

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.

Rails Ruby

🚀 Funcionalidades

Visualizar Eventos

  • 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.

Criar Conta de Participante

  • 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.

Compra de Ingressos

  • 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".

Ingresso QR Code e Controle de Entrada

  • 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.

Lembretes para Ingressos

  • Solicitação de lembrete para eventos futuros sem ingressos disponíveis.
  • Envio de e-mail no dia da abertura de vendas de ingressos.

🚧 Feed do Evento

  • 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.

🚧 Feedbacks

  • 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.

📝 Pré-requisitos

  1. Setup:

    • Ruby 3.3.2+
    • Rails 8.0.1+
    • SQLite
  2. 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.

💻 Como Contruir

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

🚨 Testes

  1. Execute os testes:
    rspec

🤝 Contribuidores


Cristiano Santana

César Faustino

David Bolivar

Gabriel Ribeiro

João Branco

Samuel Rocha

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages