Uma plataforma web moderna para bibliófilos e amantes da literatura compartilharem suas leituras, experiências e insights.
O GuildsBook é uma plataforma web sofisticada dedicada à discussão literária de qualidade. Um espaço onde usuários podem descobrir novos títulos, avaliar obras, participar de conversas significativas e construir uma comunidade intelectual vibrante em torno dos livros.
- 📚 Gestão de Biblioteca Pessoal - Organize seus livros com status de leitura (Quero Ler, Lendo, Lido)
- ⭐ Sistema de Avaliações e Reviews - Avalie livros com estrelas e reviews detalhadas
- 🔍 Busca e Descoberta - Busca avançada com integração ao Google Books API
- 👥 Comunidade Intelectual - Siga outros leitores, comente reviews e participe de discussões
- 📝 Citações e Marcadores - Salve e compartilhe suas citações favoritas
- 📖 Listas de Leitura - Crie listas personalizadas e compartilhe com a comunidade
- 🏛️ Clubes de Leitura - Crie e participe de clubes de leitura virtuais
- 📊 Estatísticas Pessoais - Acompanhe seus progressos de leitura com gráficos e relatórios
- 🌓 Modo Escuro/Claro - Interface adaptável ao seu preferência
- Next.js 16.1 - Framework React com App Router
- TypeScript - Tipagem estática
- Tailwind CSS - Estilização utilitária
- shadcn/ui - Componentes UI reutilizáveis
- React Query (TanStack Query) - Gerenciamento de estado e cache
- Next.js API Routes - API RESTful integrada
- NextAuth.js v5 - Autenticação segura
- Prisma ORM - Type-safe database access
- PostgreSQL - Banco de dados relacional
- ESLint - Linter para qualidade de código
- Prettier - Formatador de código
- Zod - Validação de schemas
GuildsBook/
├── docs/ # Documentação do projeto
│ ├── plans/ # Planos e roadmaps
│ └── tests/ # Documentação de testes
├── guildsbook-app/ # Aplicação Next.js principal
│ ├── prisma/ # Schema e migrations do banco
│ ├── public/ # Assets estáticos
│ └── src/
│ ├── app/ # Páginas e rotas (App Router)
│ ├── components/ # Componentes React
│ ├── lib/ # Utilitários e helpers
│ ├── hooks/ # Custom React hooks
│ └── types/ # Definições TypeScript
└── LICENSE # Licença do projeto
- Node.js 18+ instalado
- PostgreSQL configurado e rodando
- Git para clonar o repositório
- Clone o repositório
git clone <repository-url>
cd GuildsBook- Instale as dependências
cd guildsbook-app
npm install- Configure as variáveis de ambiente
Copie o arquivo example.env para .env.local e preencha os valores:
cp example.env .env.localEdite .env.local e configure:
DATABASE_URL- URL de conexão do PostgreSQLNEXTAUTH_URL- URL base da aplicaçãoNEXTAUTH_SECRET- Secret para JWT (gere comopenssl rand -base64 32)GOOGLE_CLIENT_IDeGOOGLE_CLIENT_SECRET(opcional, para OAuth)GOOGLE_BOOKS_API_KEY(opcional, para busca de livros)
- Configure o banco de dados
# Executar migrations
npx prisma migrate dev
# Gerar Prisma Client
npx prisma generate
# (Opcional) Popular banco com dados de teste
npm run db:seed- Inicie o servidor de desenvolvimento
npm run devAcesse http://localhost:3000 no seu navegador.
- Plano do Projeto - Visão geral completa do projeto
- Roadmap - Roadmap de desenvolvimento
- API Routes - Documentação das rotas da API
- README da Aplicação - Documentação específica da aplicação
Na pasta guildsbook-app:
npm run dev- Inicia servidor de desenvolvimentonpm run build- Build para produçãonpm run start- Inicia servidor de produçãonpm run lint- Executa o linternpm run format- Formata código com Prettiernpm run db:seed- Popula banco com dados de teste
O projeto utiliza PostgreSQL com Prisma ORM. O schema principal inclui:
User- Usuários da plataformaBook- Catálogo de livrosUserBook- Relacionamento usuário-livro (status, rating)Review- Reviews de livrosComment- Comentários em reviewsReadingList- Listas de leituraQuote- Citações salvasBookClub- Clubes de leituraFollow- Relacionamentos de seguir/seguido
Verifique guildsbook-app/prisma/schema.prisma para o schema completo.
A interface foi construída com foco em:
- Design limpo e moderno - Interface literária e elegante
- Responsividade - Funciona perfeitamente em mobile e desktop
- Acessibilidade - Seguindo padrões WCAG 2.1
- Modo escuro/claro - Tema adaptável às preferências do usuário
- Performance - Otimizações com Next.js SSR/SSG
- Autenticação segura com NextAuth.js
- Validação de inputs com Zod
- Proteção contra XSS
- Variáveis sensíveis em
.env.local - CORS configurado adequadamente
O projeto está em ativo desenvolvimento. Consulte o Roadmap para ver o progresso detalhado.
Fases Concluídas:
- ✅ Setup inicial
- ✅ Banco de dados
- ✅ Backend base
- ✅ Autenticação
- ✅ Frontend base
- ✅ MVP - Funcionalidades Core
- ✅ Comunidade e Recursos Avançados
Próximas Fases:
- 🔄 Marketplace de livros (opcional)
- 🔄 Integrações com e-readers (opcional)
- 🔄 Importação do Goodreads (opcional)
- 🔄 Sistema de notificações (opcional)
Este é um projeto pessoal, mas feedback e sugestões são sempre bem-vindos!
Este projeto está sob a licença especificada no arquivo LICENSE.
Para dúvidas ou sugestões sobre o projeto, abra uma issue no repositório.
Desenvolvido com ❤️ para amantes de livros