Um sistema de credenciamento para eventos acadêmicos
- 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.
[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.
- Simplicidade: O projeto deve ser simples de ser utilizado, sem a necessidade de um manual de instruções.
- Eficiência: O projeto deve ser eficiente, com o mínimo de recursos necessários para funcionar.
- Escalabilidade: O projeto deve ser escalável, com a possibilidade de adição de novas funcionalidades sem a necessidade de refatoração.
- Acessibilidade: O projeto deve ser acessível, com a possibilidade de utilização tanto em dispositivos desktop quanto mobile.
- Segurança: O projeto deve ser seguro, com a proteção de dados sensíveis e a prevenção de ataques.
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.
- Para o correto funcionamento da aplicação, instale as seguintes dependências globais:
pnpm install --global turbo dotenv-cli
- 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.
- 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 .
- Com o terminal aberto no repositório, use
pnpm installpara instalar as dependências do projeto . Esse comando irá instalar todas as dependências de todos os pacotes e aplicações do monorepo.
pnpm installWarning
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.
-
Em seguida, crie um arquivo
.envcom 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. -
Para dar início ao servidor local de desenvolvimento, utilize
pnpm devNote
Esse comando irá iniciar o servidor local de desenvolvimento, que provavelmente estará disponível em http://localhost:3000.
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.
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_modulesEste projeto utiliza a MIT License. Veja o arquivo de LICENÇA para mais detalhes.