Giter VIP home page Giter VIP logo

gerenciador-habitos-next's Introduction

Aprenda a usar o poder da versão 13 do Next.js construindo um gerenciador de hábitos!

🔨 Requisitos

  • Utilize o Next.js na versão mais atual para construir a estrutura do projeto e gerenciar as rotas da aplicação.
  • Desenvolva a aplicação mobile-first.

Página inicial

  • Implemente a funcionalidade de exibir uma lista de hábitos.
    • Cada hábito deve mostrar os últimos 7 dias, com um check se o hábito foi feito, um "x" se ele não foi feito ou uma bolinha cinza se ele ainda não foi marcado.
  • Implemente um botão para excluir um hábito na lista de hábitos.
  • Ao clicar em um hábito, você deverá redirecionar para uma nova rota que exibe os detalhes do hábito.
  • Implemente um botão para adicionar hábitos que leva a uma nova página de cadastro de hábito.
  • Exiba uma mensagem quando não houverem hábitos cadastrados

Página de cadastro de hábitos

  • Crie um formulário para a pessoa cadastrar o nome do hábito
  • Implemente um botão para submeter
  • Implemente um botão para cancelar o cadastro e voltar para a página inicial.

Página de detalhes do hábito

  • Mostre o nome do hábito e um botão de voltar para a tela inicial

  • Mostre um calendário com os hábitos

    • A pessoa pode navegar entre os meses e verá, a cada dia do mês, um check se o hábito foi feito, um "x" se ele não foi feito ou uma bolinha cinza se ele ainda não foi marcado.
    • Quando a pessoa clica em um dia, o hábito deve ser marcado ou desmarcado.
  • Faça o deploy da sua aplicação e submeta no Codante

🔨 Desafios extras para quem quer ir além

  • Implemente uma funcionalidade de "streak", ou seja, a quantidade de dias consecutivos que o hábito foi feito.
  • Implemente um login e cadastro de usuários.

🔍 Dicas

  • Simplifique o backend da aplicação. O foco principal é usar o Next no front, então não precisa criar uma API muito robusta. Uma dica é utilizar o Redis da própria Vercel, que se chama KV.
  • Estude sobre React 18 e Server Components.
  • Utilize Server Actions
  • Utilize um framework CSS, como Tailwind, para ganhar agilidade na implementação.

🎨 Design Sugerido

Temos uma sugestão de design no Figma. Mas sinta-se livre para utilizar a criatividade e fazer o seu próprio design.

🔗 Link do Figma

Group 20

👉🏽 Sobre esse mini-projeto

Tecnologias sugeridas

NextJS 13

  • Server Components
  • Data fetching
  • Server Actions
  • Nested layouts
  • Routes
  • pages.tsx
  • layout.tsx
  • error.tsx
  • loading.tsx
  • Vercel KV
  • Redis

Pré-requisitos

  • React
  • HTML, CSS, JavaScript

❓ FAQ

Posso utilizar outros frameworks ou outras versões do Next?

Esse projeto foi pensado para praticar a versão 13 do NextJS, utilizando React 18 com Server Components. Por isso, a resolução oficial será feita dessa forma.

Sinta-se livre para fazer de outras maneiras, caso você esteja estudando outros conteúdos. Mas considere que a solução oficial poderá não cobrir isso.

Posso usar features experimentais do Next?

Sim. Algumas features ainda estão em alpha e portanto não são recomendadas para uso em produção. Como esse se trata de um projeto para aprendizado, você pode aproveitar para experimentar essas features.

gerenciador-habitos-next's People

Contributors

icaroharry 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.