Giter Club home page Giter Club logo

pageturner's Introduction

Pageturner

pageturner header

Índice

Objetivo

O objetivo principal é criar um site para organização de leitura utilizando o acervo de livros da API pública do Google, que fornece uma gama de livros e com todas as informações necessárias. Sendo desenvolvido em React, Next e tRPC, qualquer usuário que tenha acesso a internet, independente da plataforma, e que possa utilizar um website terá como utilizar.

O foco do website é auxiliar o usuário a organizar suas leituras independentemente da maneira que foi lido, sendo em um PDF, áudio-book, Kindle ou até um livro físico. Com a utilização da API pública do Google fornecendo os dados dos livros, o usuário poderá pesquisar o livro que deseja e cadastrá-lo na categoria que desejar, sendo elas: Já lido, Lendo e Pretendo ler. Além disso, ele poderá dar uma nota a sua leitura e ainda escrever um review sobre. Caso a leitura ainda esteja em progresso, ele poderá inserir em qual página a sua leitura parou para então ver o seu progresso e ir atualizando-o com o tempo. Como todos esses dados serão salvos a partir do seu login com a conta do Google, o usuário poderá acessar em qualquer dispositivo estando logado na sua conta para visualizar suas informações ou até fazer atualizações.

Escopo

1. Coleta de dados:

  • Será coletado dados dos livros a partir da Google Books API e também dados básicos do usuário a partir do cadastro pelo Google.

2. Pré-processamento e Análise:

  • Ao receber os dados da API do Google Books, eles serão processados e limpos para que seja enviado para o front-end somente o que será utilizado.

3. Design de Interface:

  • Criação de um layout no Figma de todas as telas do site de maneira responsiva e seguindo as boas práticas de User Experience e User Interface.

4. Desenvolvimento:

  • Será desenvolvido as telas na parte do front-end em React, Typescript e Next, e para o back-end será desenvolvido a API em tRPC para que capture os dados da API pública do Google Books e que seja feito todas as funções necessárias para apresentar.

5. Qualidade:

  • Implementação de testes unitários tanto no back-end quanto no front-end do projeto, tendo uma grande cobertura de testes para garantir o funcionamento do sistema. Além disso será implementado o ESLint para garantir que o código esteja de boa qualidade.

6. CI/CD:

  • Implementação de Continuous Integration e Continuous Delivery pela plataforma do Vercel e pelo próprio Github.

7. Observabilidade:

  • Implementação do Highlight para monitoramento, garantindo uma análise abrangente e eficiente do desempenho da aplicação.

Contexto

O Pageturner é uma solução desenvolvida para fornecer uma melhora na organização de leituras de maneira intuitiva e podendo ser utilizado em qualquer dispositivo que tenha acesso a internet.

Restrições

Custo para manter o sistema no ar caso tenha muitas requisições.

Trade-offs

  • Portabilidade:

Será mantido uma aparência uniforme em todos os dispositivos, garantindo uma experiência reconhecível, porém pode limitar a adaptação a diferentes tamanhos de tela.

  • Funcionalidade:

O Sistema irá manter a interface e as funcionalidades simples e fáceis de usar, atraindo um público que valoriza a facilidade de navegação, mas pode não atender às necessidades de usuários que procuram recursos mais avançados.

  • Confiabilidade:

Temos uma confiabilidade das informações dos livros a partir dos dados que a API do Google Books nos traz. Caso seja necessário comprovar que todos os dados estejam corretos, teria que utilizar mais de uma requisição que compare as informações, porém isso pode impactar na velocidade de resposta.

  • Usabilidade:

O sistema foca em uma interface intuitiva e direta, atraindo uma ampla gama de usuários, mas pode limitar a personalização e a adaptação individual.

  • Eficiência:

Terá como prioridade o carregamento rápido para que possa mostrar a página inicial o mais rápido possível, mas pode resultar em placeholders ou conteúdo faltando até que todos os recursos sejam carregados. É ótimo para causar uma boa primeira impressão, mas pode atrasar a exibição de informações completas.

  • Manutenibilidade:

O sistema é considerado relativamente simples, o que pode aumentar o nível de manutenibilidade seria caso houvesse muitas requisições em um curto período de tempo, tendo que talvez começar a pagar algum serviço que sustente sem problemas.

C4 Model

Os diagramas feitos de acordo com o modelo C4 de documentação podem ser encontrados aqui.

Requisitos e Casos de uso

Os requisitos funcionais, não funcionais e os casos de uso podem ser encontrados aqui.

Modelagem

A metodologia Scrum foi adotada com o auxílio da plataforma Jira. O Scrum dividiu o trabalho em sprints, ciclos de desenvolvimento, enquanto o Jira gerenciou tarefas, histórias de usuário e o progresso.

pageturner's People

Contributors

gabiliz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.