Skip to content

davidsoncabista/Dungeon-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

584 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dungeon App - Sistema de Reserva de Salas da Dungeon Belém

O Dungeon App é o sistema oficial para gerenciamento de reservas, comunicação e administração da Associação Dungeon Belém, uma comunidade de jogadores de RPG, Board Games e Card Games. A plataforma foi construída para modernizar e automatizar os processos da associação, oferecendo uma experiência integrada para membros e administradores.

Tecnologias Utilizadas

O projeto é construído com uma stack moderna e robusta, focada em performance, escalabilidade e uma ótima experiência de desenvolvimento.

Como Começar

Para rodar o projeto em ambiente de desenvolvimento, siga os passos abaixo:

  1. Clone o repositório:

    git clone <https://github.com/davidsoncabista/Dungeon-App.git>
    cd <nome-do-repositorio>
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    • Crie um arquivo .env.local na raiz do projeto.
    • Adicione as chaves de configuração do seu projeto Firebase. Você pode obtê-las no Console do Firebase > Configurações do Projeto.
  4. Rode o servidor de desenvolvimento:

    npm run dev
  5. Acesse a aplicação:

Fazendo Deploy

Para publicar as alterações no Firebase (App Hosting e Functions), utilize o comando: firebase deploy

Certifique-se de estar autenticado na CLI do Firebase (firebase login).

Projeto Anexo: Maze Tracker Legacy

Dentro da pasta /public existe o arquivo amazegame.html, um projeto de rastreador de iniciativa para RPG de mesa, desenvolvido em HTML, CSS e JavaScript puros. Este projeto é tratado de forma isolada do aplicativo Next.js principal.

  • Propósito: Servir como uma ferramenta nostálgica e funcional para os membros da associação, homenageando uma versão mais antiga do rastreador.
  • Acesso: O arquivo é servido estaticamente e pode ser acessado através da URL /amazegame.html.
  • Integração: A intenção é que um link para esta página seja adicionado dinamicamente à landing page principal através do "Editor da Landing Page" (CMS), funcionando como um "easter egg" ou uma ferramenta de acesso rápido.
  • Desenvolvimento: As modificações no amazegame.html são feitas diretamente no arquivo, sem afetar o build ou a lógica do aplicativo Next.js.

Guia de Uso

Para Associados

  • Autenticação Segura e Acessível: Login simplificado com Google, utilizando um fluxo (signInWithRedirect) compatível com WebViews de aplicativos móveis.
  • Fluxo de Onboarding Guiado: Novos usuários são recebidos com um tour interativo que os orienta a completar o perfil e a escolher um plano de associação.
  • Controle de Acesso por Status: O sistema garante que apenas membros com status "Ativo" possam realizar novas reservas, direcionando usuários com pendências para a página de cobrança.

Páginas Principais

  • Agenda Online (/online-schedule): Uma agenda robusta que permite visualizar a disponibilidade das salas em formato de calendário mensal ou em uma timeline diária/semanal.
  • Minhas Reservas (/my-bookings): Gerencie suas reservas, edite agendamentos futuros e visualize seu histórico completo. Aqui também fica o painel de cotas, que exibe em tempo real o saldo de reservas mensais, "corujão" e convidados.
  • Matrícula e Cobranças (/billing): Novos usuários são direcionados para cá para escolher um plano e se associar. Membros existentes podem visualizar seu histórico de pagamentos e quitar pendências via PIX com Mercado Pago.
  • Meu Perfil (/profile): Edite suas informações pessoais, apelido, telefone, documentos, data de nascimento (com verificação de maioridade) e preferências de jogo. O formulário de endereço conta com preenchimento automático via CEP.
  • Mural de Avisos (/notices): Fique por dentro dos últimos comunicados gerais da administração.
  • Minhas Mensagens (/messages): Caixa de entrada privada para receber mensagens diretas da administração (avisos, advertências, etc.), com um indicador de notificações não lidas no cabeçalho.
  • Votação (/voting): Participe de votações importantes da associação através de uma página dedicada, que aparece no menu apenas quando você é elegível para votar.

Para Administradores

Uma área de administração robusta e organizada, acessível através do menu principal para usuários com as permissões adequadas.

  • Estatísticas (/statistics): Dashboard com métricas de uso, como total de membros, número de reservas, aniversariantes do mês e um gráfico com os tipos de jogos mais curtidos pela comunidade.
  • Gerenciamento de Usuários (/users): Acompanhe a lista de membros, gerencie status, aplique advertências e controle níveis de acesso administrativo (Administrador, Editor, Revisor).
  • Administração (/admin): Um painel centralizado com sub-rotas para gerenciar todos os aspectos do sistema:
    • Sistema (/admin/system): Crie e edite planos de associação, controle preços, cotas de reserva, limites de convidados e o valor da taxa de inscrição (joia). Também é aqui que se gerencia o sistema de votação.
    • Finanças (/admin/finance): Visualize o histórico financeiro de todos os membros, gere cobranças avulsas e marque transações como pagas manualmente.
    • Mensagens (/admin/messages): Envie mensagens privadas e categorizadas (aviso, advertência, multa, etc.) para usuários específicos, com um histórico completo de envio.
    • Regras de Acesso (/admin/access-rules): Crie, edite e exclua dinamicamente as regras e permissões de cada nível de acesso administrativo.
    • Salas (/admin/rooms): Crie, edite ou remova as salas de jogo, ajustando sua capacidade e configurações.
  • Editor da Landing Page (/admin/landing-editor): Um CMS integrado para gerenciar o conteúdo da página inicial de forma modular, permitindo adicionar, editar e reordenar blocos de conteúdo (herói, lista de features, etc.) e gerenciar uma biblioteca de mídia otimizada.

Equipe do Projeto

  • Davidson Santos Conceição: Project Lead & FullCircle Engineer.
  • Heydrigh Leão Ribeiro: Full Stack Developer
  • Caio de Oliveira Bastos: Tesoureiro & Front-end Developer
  • Thyago Costa (@thyagobib): UI/UX Designer
  • Luiz Pedro Reis Pinheiro (@luizprp): UI/UX Designer
  • Hermann Duarte Ribeiro Filho: Homologação (Testes)
  • Thiago de Castro Araújo: Homologação (Testes)
  • Bruno Rafael Viana Oliveira (@brunorvo): Consultor de Fluxo e Homologação
  • Iasmin Oneide Figueira de Castro Leal (@koda_master): Homologação (Testes)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages