Skip to content

šŸŸ£ Back-end do Projeto Capadura: Ferramenta para compartilhar avaliaƧƵes de livros, comentĆ”rios e descobrir novos livros.

License

Notifications You must be signed in to change notification settings

eidynho/capadura-api

Repository files navigation

Screenshot

Projeto Capadura - Repo Back-end

O projeto foi dividido em dois repositĆ³rios, sendo esse aqui para o back-end. Para acessar o repositĆ³rio do front-end, clique aqui.

IntroduĆ§Ć£o

Capadura Ʃ uma ferramenta onde os leitores podem compartilhar avaliaƧƵes de livros, fazer comentƔrios durante a leitura e descobrir novos livros.

šŸ¤– Tech stack

  • Typescript
  • Node.js
  • Fastify
  • Prisma ORM
  • AWS S3
  • AWS Cloudfront
  • Redis
  • PostgreSQL

šŸ’» Principais funcionalidades

Sistema

  • Registro de usuĆ”rio
  • Sistema de autenticaĆ§Ć£o com e-mail/senha
  • Sistema de autenticaĆ§Ć£o com Google OAuth
  • AutenticaĆ§Ć£o com JWT

Livros

  • Criar livro
  • Editar livro
  • Listagem dos dados do livro

Leitura

  • Criar leitura de livro
  • Editar leitura de livro
  • Deletar leitura de livro
  • Criar progresso de leitura
  • Editar progresso de leitura
  • Deletar progresso de leitura
  • Listagem de todos os progressos de uma leitura
  • Listagem de leituras finalizadas do usuĆ”rio
  • Listagem da quantidade de leituras finalizadas por livro
  • Listagem da quantidade de pĆ”ginas lidas por dia do usuĆ”rio

AvaliaĆ§Ć£o de livros

  • Adicionar avaliaĆ§Ć£o de livro
  • Editar avaliaĆ§Ć£o de livro
  • Listagem da quantidade de avaliaƧƵes por nota do livro
  • Listagem da quantidade de avaliaƧƵes por nota do usuĆ”rio

Livros favoritos

  • Adicionar livros favoritos do usuĆ”rio
  • Remover livros favoritos do usuĆ”rio
  • Listagem de livros favoritos por usuĆ”rio

Lista de livros

  • Criar/editar/deletar de lista de livros
  • Adicionar/deletar livro na lista
  • Remover livro da lista
  • Listagem das listas do usuĆ”rio
  • Listagem dos livros de uma lista do usuĆ”rio

Curtidas

  • Curtir livro
  • Descurtir livro
  • Listagem de livros curtidos por usuĆ”rio
  • Total de curtidas por livro

Perfil

  • Rota para trazer os dados do usuĆ”rio por id/nome de usuĆ”rio
  • Editar informaƧƵes do perfil do usuĆ”rio

Seguidores/seguindo

  • Seguir usuĆ”rios
  • Desseguir usuĆ”rios
  • Rota para saber se o usuĆ”rio atual segue o perfil que estĆ” vendo
  • Rota para saber se o usuĆ”rio atual Ć© seguido pelo perfil que estĆ” vendo
  • Listagem de quem o usuĆ”rio segue/Ć© seguido
  • Contagem de quantos o usuĆ”rio segue/Ć© seguido

Atividades recentes do usuƔrio

  • Criar e listar as Ćŗltimas atividades do usuĆ”rio
    • Curtir livro
    • Iniciar/pausar/retomar leitura
    • Adicionar progresso de leitura
    • AvaliaĆ§Ć£o de livro

šŸŒ ContribuiƧƵes

Para quem deseja contribuir: recomendo abrir uma discussĆ£o com a alteraĆ§Ć£o que deseja fazer por meio de uma issue, ou uma discussĆ£o ou fale comigo diretamente. Estarei aberto para novas implementaƧƵes ou sugestƵes :)

ImplementaƧƵes desejadas para o futuro

  • Isolar a camada de DTO
  • Isolar a camada de entidades
  • Testes unitĆ”rio/integraĆ§Ć£o e e2e em toda a aplicaĆ§Ć£o
  • DocumentaĆ§Ć£o das rotas

āš™ļø Variaveis de ambiente

Caso precise fazer upload de imagens, as variƔveis da S3 e do Cloudfront devem ser preenchidas com as respectivas chaves.

S3_BUCKET_NAME=
S3_BUCKET_REGION=
S3_ACCESS_KEY=
S3_SECRET_ACCESS_KEY=

CLOUDFRONT_BASE_URL=
CLOUDFRONT_DISTRIBUTION_ID=
CLOUDFRONT_PRIVATE_KEY=
CLOUDFRONT_KEY_PAIR_ID

Caso precise fazer login atravĆ©s do OAuth com Google, a variĆ”vel GOOGLE_CLIENT_ID e GOOGLE_SECRET_ID deverĆ£o ser criadas atravĆ©s do serviƧo de OAuth do Google e inseridas manualmente.

šŸ—’ļø LicenƧa

MIT Ā© Vinicius Eidy Okuda

About

šŸŸ£ Back-end do Projeto Capadura: Ferramenta para compartilhar avaliaƧƵes de livros, comentĆ”rios e descobrir novos livros.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published