Projeto full-stack em desenvolvimento como desafio do Ćŗltimo mĆ³dulo da trilha React do curso Ignite na Rocketseatš , utilizando Next como principal ferramenta. Vamos criar uma aplicaĆ§Ć£o completa atĆ© o deploy. Abordaremos rotas autenticadas no Next.js conceito de Backend-for-Frontend e na aplicaĆ§Ć£o vocĆŖ jĆ” pode:
- Fazer login com conta Google ou Github, ou entrar como visitante;
- Fazer filtragem de livros por categoria na pƔgina explore
- Fazer busca de livro por nome do livro ou autor
- Avaliar livro adicionando comentƔrio e nota para o livro.
- Next.js
- React.js
- Typescript
- NextAuth.js
- Prisma
- TanStack
- Axios
- React-query
- Radix-ui
- Zod
HistĆ³rico
- Layout da pagina home criada
- Configurando NextAuth para autenticaĆ§Ć£o com providers
- Fazendo autenticaĆ§Ć£o com Github
- Fazendo autenticaĆ§Ć£o com Google
- Iniciado layout da aplicaĆ§Ć£o
- Criado sidebar da aplicaĆ§Ć£o
- Criando sessĆ£o de ultimas avaliaƧƵes
- Criando sessĆ£o Livros populares
- Feito seed de informaƧƵes no banco de dados
- SessĆ£o ultimas avaliaƧƵes e livros populares retornando livros do banco
- Criando pƔgina explore
- PƔgina explore retornando categorias de livros
- Adicionada busca de livros por nome do livro ou autor
- Criado modal de detalhes do livro
- Modal de avaliaĆ§Ć£o de livro recebendo do banco as informaƧƵes do livro selecionado
- Criando formulario de avaliaĆ§Ć£o de livro
- Salvando novas avaliaƧƵes dos livros
- Criando pƔgina de perfil do usuƔrio
- Adicionada sessĆ£o de detalhes de perfil do usuĆ”rio
- Clone o projeto do repositĆ³rio
git clone https://github.com/RafaelMatos/bookwise
- Acesse a pasta do projeto
cd bookwise
- Instale as dependĆŖncias
npm install
-
Criar arquivo .env com as chaves necessarias( seguir arquivo .envExample)
-
Inicializa o Prisma( Usar banco de dados de sua preferencia, no exemplo Ć© usado o sqlite)
npx prisma init --datasource-provider sqlite
- Realiza as migrations do Prisma
npx prisma migrate dev --name init
- Execute o projeto
npm run dev
- Acesse no navegador o endereƧo indicado no terminal