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.
Capadura Ʃ uma ferramenta onde os leitores podem compartilhar avaliaƧƵes de livros, fazer comentƔrios durante a leitura e descobrir novos livros.
- Typescript
- Node.js
- Fastify
- Prisma ORM
- AWS S3
- AWS Cloudfront
- Redis
- PostgreSQL
- Registro de usuƔrio
- Sistema de autenticaĆ§Ć£o com e-mail/senha
- Sistema de autenticaĆ§Ć£o com Google OAuth
- AutenticaĆ§Ć£o com JWT
- Criar livro
- Editar livro
- Listagem dos dados do livro
- 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
- 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
- Adicionar livros favoritos do usuƔrio
- Remover livros favoritos do usuƔrio
- Listagem de livros favoritos por usuƔrio
- 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
- Curtir livro
- Descurtir livro
- Listagem de livros curtidos por usuƔrio
- Total de curtidas por livro
- Rota para trazer os dados do usuƔrio por id/nome de usuƔrio
- Editar informaƧƵes do perfil do usuƔrio
- 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
- Criar e listar as Ćŗltimas atividades do usuĆ”rio
- Curtir livro
- Iniciar/pausar/retomar leitura
- Adicionar progresso de leitura
- AvaliaĆ§Ć£o de livro
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 :)
- 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
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.
MIT Ā© Vinicius Eidy Okuda