Skip to content

Repository files navigation

verifIC

💻 Projeto

Um sistema de credenciamento para eventos acadêmicos

🧭 Em breve disponível para Web, com aplicação auxiliar Mobile

🚧 Features

  • Autenticação
    • Autenticação de usuários por e-mail institucional
  • Eventos
    • Criação e gerenciamento de eventos
    • Possibilidade de limitar vagas e incluir filas de espera virtuais
    • Adição de atividades
    • Gerenciamento de administradores de eventos
    • Dashboard de acompanhamento de métricas do evento em tempo real
  • Inscrições
    • Inscrição de participantes em eventos e atividades
    • Credenciamento de participantes
  • Controle de Acesso
    • Controle de acesso e verificação de presença via QR Code (com tempo de tolerância configurável)
  • Certificados
    • Atribuição de horas por atividade (palestras, workshops, minicursos, etc.)
    • Geração de crachás personalizados
    • Emissão de certificados de participação
    • Envio automatizado de certificados por e-mail
  • Relatórios
    • Emissão de relatórios de participação e atividades
  • Extras
    • Suporte a múltiplos idiomas

Note

O design do frontend do projeto está disponível no Figma.


✨ Tecnologias

  • [Base] Next.js
  • [Estilização] TailwindCSS + shadcn/ui
  • [Banco de dados] Neon (PostgreSQL)
  • [Hospedagem] Vercel

Note

O projeto ainda está em desenvolvimento, portanto, diversos aspectos estarão inacabados e/ou não funcionais à medida que a aplicação torna-se mais robusta.


🧠 Princípios

  1. Simplicidade: O projeto deve ser simples de ser utilizado, sem a necessidade de um manual de instruções.
  2. Eficiência: O projeto deve ser eficiente, com o mínimo de recursos necessários para funcionar.
  3. Escalabilidade: O projeto deve ser escalável, com a possibilidade de adição de novas funcionalidades sem a necessidade de refatoração.
  4. Acessibilidade: O projeto deve ser acessível, com a possibilidade de utilização tanto em dispositivos desktop quanto mobile.
  5. Segurança: O projeto deve ser seguro, com a proteção de dados sensíveis e a prevenção de ataques.

⚙️ Como iniciar o projeto

Antes mesmo de clonar o código do projeto, é necessário instalar algumas dependências globalmente. Recomendamos o uso do pnpm por sua disponibilidade em todas as principais plataformas (Windows, Linux e Mac) e sua velocidade quando comparado ao npm tradicional.
Caso o pnpm não esteja instalado, é possível baixá-lo aqui.

  1. Para o correto funcionamento da aplicação, instale as seguintes dependências globais:
pnpm install --global turbo dotenv-cli
  1. Após instalar as dependências globais, clone o repositório com:
git clone https://github.com/theduardomaciel/verific.git

Note

Para clonar o repositório você precisará ter o git instalado na sua máquina. Caso não tenha, você pode baixá-lo aqui.

  1. Após clonar o repositório, basta entrar na pasta do repositório clonado e acessar o projeto por meio de um editor de texto ou IDE de preferência, como o VSCode:
cd verific
code .
  1. Com o terminal aberto no repositório, use pnpm install para instalar as dependências do projeto . Esse comando irá instalar todas as dependências de todos os pacotes e aplicações do monorepo.
pnpm install

Warning

Após a instalação das dependências, certifique-se de reiniciar tudo que possa estar carregando o projeto no momento, como o VSCode ou terminais.

  1. Em seguida, crie um arquivo .env com as variáveis de ambiente adequadas para todos os pacotes (/packages) e aplicações (/apps), com base nos arquivos de exemplo .env.example.
    Esse passo é essencial para o correto funcionamento dos pacotes e aplicações do monorepo.

  2. Para dar início ao servidor local de desenvolvimento, utilize

pnpm dev

Note

Esse comando irá iniciar o servidor local de desenvolvimento, que provavelmente estará disponível em http://localhost:3000.


🎲 Dados

Para a migração de uma nova versão do esquema para o banco de dados, utilize pnpm db:push para enviar os dados para a rede.

Warning

Enquanto o comando pnpm db:push é recomendado durante o estágio de desenvolvimento por conta de sua simplicidade ao omitir a geração de arquivos .sql, em versões de produção o seguinte procedimento deve ser realizado:

Para a migração de um novo esquema para o banco de dados, utilize pnpm db:generate para criar o arquivo .sql com a migração, e em seguida pnpm db:migrate para enviar os dados para a rede.

Para a visualização do banco de dados, utilize pnpm db:studio

Warning

Execute esse comando sempre na raiz do projeto para evitar erros com variáveis de ambiente.


🧹 Limpeza de dependências

Caso seja necessário limpar as dependências de todos os pacotes e aplicações do monorepo, utilize o comando abaixo:

pnpm dlx rimraf --glob **/node_modules

📝 Licença

Este projeto utiliza a MIT License. Veja o arquivo de LICENÇA para mais detalhes.

About

Um sistema de credenciamento para eventos acadêmicos

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages