O Sign Fast é uma plataforma para assinatura digital de documentos de forma rápida e segura. O sistema permite que os usuários assinem documentos eletronicamente, com uma interface simples e intuitiva.
Este projeto utiliza as seguintes tecnologias:
- Next.js: Framework para React que permite renderização do lado do servidor e geração estática de sites.
- Prisma: ORM (Object-Relational Mapping) para Node.js que facilita a interação com bancos de dados.
- Tailwind CSS: Framework utilitário para criar designs rápidos e responsivos.
- NextAuth.js: Biblioteca de autenticação para Next.js, facilitando login e controle de sessão de usuários.
- Radix UI: Conjunto de componentes de UI com acessibilidade incorporada.
- React Signature Canvas: Biblioteca para capturar assinaturas digitais de forma intuitiva.
src/app: Páginas e rotas principais da aplicação;/(auth): Lógica de autenticação e gerenciamento de sessão;/api: Manipuladores de rotas da API;/assets: Arquivos estáticos, como imagens;/dashboard: Lógica e componentes da página do dashboard;
src/components: Componentes visuais reutilizaveis;src/lib: Funções utilitárias, hooks customizados;src/prisma: Define o modelo do banco de dados e as relações.
- Clone este repositório:
git clone https://github.com/seu-usuario/sign-fast.git- Navegue até o diretório do projeto:
cd sign-fast- Instale as dependências:
npm install- Para rodar o projeto em modo de desenvolvimento, use:
npm run dev- Para gerar a build do projeto:
npm run build- Para iniciar o projeto em produção:
npm start- Execute o seguinte comando para subir o container Docker:
docker-compose up -d- O banco de dados estará disponível na porta 3306. Verifique se o banco foi criado corretamente utilizando o cliente de sua escolha (MySQL Workbench, DBeaver, etc).
Após configurar o banco de dados, você precisará rodar as migrations do Prisma para criar as tabelas no banco de dados.
-
Primeiro, gere o arquivo .env com as credenciais de acesso ao banco de dados. O arquivo deve conter as seguintes variáveis:
-
Ajuste as credenciais conforme necessário.
DATABASE_URL="mysql://root:root@localhost:3306/sign_fast_db"- Rode as migrations com o seguinte comando:
(Esse comando cria as tabelas no banco de dados e aplica as migrations pendentes.) ```bash npx prisma migrate dev ```
- Após rodar as migrations, você pode gerar o cliente Prisma com o comando:
npx prisma generateOs usuários podem assinar documentos diretamente na plataforma utilizando o canvas de assinatura.
Através do NextAuth.js, a aplicação permite login e logout, garantindo a segurança do processo de assinatura.
Usuários podem gerenciar seus documentos assinados de forma fácil e intuitiva.
-
Prisma: Utilizado para interagir com o banco de dados MySQL.
-
bcrypt-ts: Para criptografia de senhas dos usuários.
-
clsx e tailwind-variants: Para gerenciamento de classes e estilo responsivo.
-
lucide-react: Para ícones responsivos e modernos.
-
react-signature-canvas: Para capturar a assinatura do usuário diretamente na tela.
-
Node.js: Versão 16 ou superior.
-
MySQL: Banco de dados utilizado pela aplicação. Certifique-se de configurar o banco corretamente com Docker.
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.
Desenvolvido por Lucas Leonardo