Coder Social home page Coder Social logo

camiladev / time-to-move Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 252 KB

Aplicação que une a técnica de gestão de tempo Pomodoro, com exercícios para o corpo e olhos em forma de desafios com bonificações em XP (Experiência e Level de personagem usado em games).

Home Page: time-to-move-git-main-camiladev.vercel.app

TypeScript 69.05% CSS 27.06% JavaScript 3.89%

time-to-move's Introduction

TimeToMove 1.0

Este projeto é a evolução do projeto Move.it que iniciei durante a realização do Next Level Week 4º realizado pela Rocketseat 🚀.

Telas ⏳ Em construção

📃 Informações sobre o Projeto

A ideia surgiu da necessidade de ajudar as milhares de pessoas que trabalham usando o computador a evitar futuros problemas de saúde, como:

  • Tendinite;
  • Dores nas costas;
  • Má circulação nas pernas;
  • Problemas de visão.

E ajudar a manter o foco e melhorar a produtividade de forma que não prejudique a saúde.

Para isso juntamos a técnica de gestão do tempo Pomodoro, como exercícios para o corpo e para os olhos e para dar aquela estimulada aplicamos a ideia de level que nos jogos online são usados para definir a experiência do personagem.

📋 Resolução

Pomodoro - Técnica de gestão do tempo

Para realizar o controle do tempo foi criado um componente de cronometro, que chamamos de Countdown. Com variáveis de controle de estado recebe o tempo de 25 min convertido em segundos, e quando o relógio é inicializado o tempo inicial é atualizado em um intervalo de 1 segundo, sempre diminuindo um segundo até que o contador chegue a zero.

Desafios Aleatórios

A dada termino de ciclo do Pomodoro é sugerido ao usuário um desafio para o corpo ou para os olhos, a escolha do desafio é realizada de forma aleatória. A lista de desafios é passada em um documento JSON, e para garantir a aleatoriedade é realizado uma multiplicação entre um numero randômico e a quantidade de itens no JSON.

Subir de Nível

Sempre que o usuário recebe a sugestão do desafio, já possível visualizar quanto de experiencia que ira ganhar, e quando o usuário receber a quantidade necessária de experiencia, ele passa para o próximo nível. Para saber o valor necessário de xp foi realizado um calculo de potencia que os jogos usam para definir a dificuldade do desafio.

Para que o usuário não perca as informações de nível atual e desafios realizados, caso ele decida fechar o navegador, foi utilizado os cookies do browser para salvar as informações de nível, experiência e desafios concluídos, assim quando o usuário retornar vai poder voltar onde parou.

Autenticação de Usuário Para realizar o login do usuário optei por apenas consultar a api do github e pegar os dados do usuário que tiver conta no github.

Utilizei o axios para fazer a requisição no servidor do github e retornar os dados que utilizei.

Optei por realizar desta forma pois não estou fazendo a estrutura de backend.

Ranking Para listar o ranking dos usuários alguns dados são salvos na api da aplicação salvos em outro projeto privado.

Para consultar utilizei fecth para consultar os dados na api fake em json.

Os usuários são listados em ordem decrescente de valor total de xp.

Responsividade ⏳ Em construção

🛠️ Tecnologias usadas

  • Next.js
  • React.js
  • TypeScript
  • CSS3
  • HTML5
  • Biblioteca Js-Cookies
  • Biblioteca React-Icons
  • API Rest Json Server

💻 Execução

Para você rodar o projeto localmente é necessário que realize o clone do projeto e executar o comando:

npm install

E para executar a aplicação de o seguinte comando:

npm run dev

Agora no navegar acesse http://localhost:3000/

:octocat: Deploy

⏳ Em construção

time-to-move's People

Contributors

camiladev avatar

Stargazers

Viviane Ramos Luz avatar

Watchers

 avatar

Forkers

sdavi38

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.