Notebookly é um projeto que simula um diário digital. O objetivo é permitir que o usuário crie cadernos e notas, podendo registrar seus sentimentos e pensamentos em cada nota criada.
- Criar Cadernos: Organize suas notas em diferentes cadernos, facilitando a gestão de temas ou projetos.
- Adicionar Notas: Crie notas dentro dos cadernos, registrando seus pensamentos ou informações importantes.
- Sentimentos: Em cada nota, você pode adicionar um sentimento (como feliz, triste, etc.), proporcionando uma visão mais emocional sobre o que você escreveu.
- Autenticação: O projeto utiliza o NextAuth para garantir que cada usuário tenha um espaço seguro para armazenar suas notas.
- Next.js: Framework React para criar aplicações web modernas e escaláveis.
- Prisma: ORM para interagir com o banco de dados de forma eficiente e segura.
- NextAuth.js: Biblioteca de autenticação para Next.js, proporcionando login fácil e seguro.
- Tailwind CSS: Framework de CSS utilitário para criação de interfaces modernas e responsivas.
- Framer Motion: Biblioteca para animações interativas e fluidas em React.
- Lucide React: Pacote de ícones leve e customizável para React.
- React Hook Form: Biblioteca para gerenciamento de formulários de forma simples e eficiente.
- React Quill: Editor de texto rico e personalizável para React.
- Slate.js: Framework para construir editores de texto personalizados com React.
- Radix UI: Conjunto de componentes acessíveis e não estilizados para criar interfaces de usuário modulares.
- Zod: Validação de dados e esquemas com TypeScript, fornecendo segurança e confiabilidade no manuseio de dados.
- Bcrypt-ts: Biblioteca para criptografia de senhas de forma segura usando o algoritmo bcrypt.
- clsx: Utilitário para condicionalmente adicionar classes CSS em React.
- tailwind-merge: Utilitário para mesclar classes do Tailwind CSS sem duplicação de regras.
- tailwindcss-animate: Animações utilitárias para uso com Tailwind CSS.
- TypeScript: Superset de JavaScript que adiciona tipagem estática e outros recursos avançados.
- ESLint: Ferramenta de linting para identificar e corrigir problemas de estilo de código em JavaScript e TypeScript.
- Prisma CLI: Ferramenta de linha de comando para gerenciamento de banco de dados e geração de client Prisma.
- PostCSS: Ferramenta para transformar CSS com plugins, usada em conjunto com Tailwind CSS.
- ESLint Config Next: Configuração do ESLint otimizada para Next.js.
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
AUTH_SECRET
DATABASE_URL

