O Miro Clone é um projeto abrangente desenvolvido do zero, proporcionando uma experiência semelhante ao Miro com funcionalidades avançadas para colaboração em tempo real em um quadro branco virtual.
-
Quadro Branco do Zero: Desenvolvimento de um quadro branco a partir do zero, permitindo aos usuários criar e colaborar em ideias visualmente.
-
Barra de Ferramentas: Inclusão de uma barra de ferramentas com opções para adicionar texto, formas, notas adesivas e desenho a lápis.
-
Funcionalidade de Camadas: Implementação de funcionalidade de camadas para organizar elementos no quadro de forma hierárquica.
-
Sistema de Cores: Integração de um sistema de cores para permitir aos usuários escolher cores para seus desenhos e elementos no quadro.
-
Funcionalidade Desfazer/Refazer: Inclusão de botões de desfazer/refazer para facilitar a correção de erros ou voltar a ações anteriores.
-
Atalhos de Teclado: Implementação de atalhos de teclado para melhorar a eficiência e a experiência do usuário durante a criação.
-
Colaboração em Tempo Real: Possibilidade de colaborar em tempo real, permitindo que vários usuários trabalhem juntos no mesmo quadro.
-
Banco de Dados em Tempo Real: Utilização de um banco de dados em tempo real para sincronizar as alterações entre os usuários.
-
Autenticação, Organizações e Convites: Sistema de autenticação com suporte a organizações e convites para gerenciar o acesso ao quadro branco.
-
Funcionalidade de Favoritos: Opção para os usuários marcarem elementos como favoritos para acesso rápido.
-
Framework Next.js 14: Desenvolvimento utilizando o framework Next.js na versão 14 para uma experiência de desenvolvimento moderna.
-
Estilização com TailwindCSS & ShadcnUI: Utilização das bibliotecas TailwindCSS e ShadcnUI para uma estilização flexível e agradável.
O projeto utiliza diversas dependências para garantir seu funcionamento suave:
@clerk/nextjs:
^4.29.8@liveblocks/client:
^1.10.4@liveblocks/node:
^1.10.4@liveblocks/react:
^1.10.4@radix-ui/react-alert-dialog:
^1.0.5@radix-ui/react-avatar:
^1.0.4@radix-ui/react-dialog:
^1.0.5@radix-ui/react-dropdown-menu:
^2.0.6@radix-ui/react-slot:
^1.0.2@radix-ui/react-tooltip:
^1.0.7class-variance-authority:
^0.7.0clsx:
^2.1.0convex:
^1.10.0convex-helpers:
^0.1.25date-fns:
^3.6.0lucide-react:
^0.344.0nanoid:
^5.0.6next:
14.1.1next-themes:
^0.2.1perfect-freehand:
^1.2.2query-string:
^9.0.0react:
^18react-contenteditable:
^3.3.7react-dom:
^18sonner:
^1.4.3tailwind-merge:
^2.2.1tailwindcss-animate:
^1.0.7usehooks-ts:
^2.15.1zustand:
^4.5.2@types/node:
^20@types/react:
^18@types/react-dom:
^18autoprefixer:
^10.0.1eslint:
^8eslint-config-next:
14.1.1postcss:
^8tailwindcss:
^3.3.0typescript:
^5
-
Clone este repositório em sua máquina local.
-
Certifique-se de ter o Node.js e o npm (ou yarn) instalados.
-
Instale as dependências do projeto utilizando o seguinte comando:
npm install
# ou
yarn install
- Crie um arquivo
.env.local
na raiz do projeto com as seguintes chaves e seus respectivos valores:
CONVEX_DEPLOYMENT=seu_valor_aqui
NEXT_PUBLIC_CONVEX_URL=seu_valor_aqui
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=seu_valor_aqui
CLERK_SECRET_KEY=seu_valor_aqui
LIVEBLOCKS_SECRET_KEY=seu_valor_aqui
Certifique-se de substituir seu_valor_aqui
pelos valores corretos de cada chave.
- Inicie o servidor de desenvolvimento com o seguinte comando:
npm run dev
# ou
yarn dev
- Acesse a aplicação em
http://localhost:3000
e explore todas as funcionalidades do Miro Clone, incluindo colaboração em tempo real, ferramentas de desenho e gerenciamento de conteúdo.