Moveit
🚀 NLW #4 | React+ TypeScript + NextJS + StyledComponents + Firebase + MongoDb +Axios
Install / Use
/learn @Alquipo/MoveitREADME
<p align="center">
<img alt="MoveIt Logo" title="MoveIt" src=".github/readme/logo-full.svg" />
</p>
<h1 align="center">
🚧 MoveIt 2.0 | Em Construção 🚧
</h1>
<p align="center">
<img alt="GitHub language count" src="https://img.shields.io/github/languages/count/Alquipo/moveit">
<img alt="Repository size" src="https://img.shields.io/github/repo-size/Alquipo/moveit">
<a href="https://www.linkedin.com/in/alquiponeto/">
<img alt="Made by Alquipo" src="https://img.shields.io/badge/made%20by-AlquipoNeto-blue">
</a>
<a href="https://github.com/Alquipo/moveit/commits/master">
<img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/Alquipo/moveit?color=blue">
</a>
<img alt="License" src="https://img.shields.io/badge/license-MIT-brightgreen?color=blue">
<img alt="CI Workflow" src="https://github.com/Alquipo/moveit/workflows/ci/badge.svg?color=blue">
</p>
<p align="center">
<a target="_blank" href="https://reactjs.org/">
<img alt="ReactJS" src="https://img.shields.io/static/v1?color=blue&label=React&message=JS&?style=plastic&logo=React">
</a>
<a target="_blank" href="https://nextjs.org/">
<img alt="NextJS" src="https://img.shields.io/static/v1?color=white&label=Next&message=JS&?style=plastic&logo=Next.js">
</a>
</p>
<h1 align="center">
Bem Vindo ao App MoveIt 2.0
</h1>
<!--
## :information_source: O que é Next Level Week?
O [NLW](https://nextlevelweek.com/inscricao/1) é uma semana prática com muito código, desafios, network e com um único objetivo: levá-lo ao próximo nível.
Através do método da [Rocketseat](https://nextlevelweek.com/inscricao/1), você aprenderá novas ferramentas, tecnologias e descobrirá hacks que irão impulsionar sua carreira.
Um evento online e totalmente gratuito que o ajudará a dar o próximo passo na sua evolução como desenvolvedor.
-->
🚀 Sobre o Projeto
MoveIt e uma aplicação para incentivar quem fica horas no computador a se exercitar, usando o método pomodoro, a cada 25 minutos concentrado no trabalho ele terá uma pausa para efetuar um pequeno exercício e com adição da gamificação na aplicação tudo fica mais divertido.
🎨 Layout
Design feito por Tiago Luchtenberg
<!-- ### Mobile <h4 align="center"> <img alt="ExampleMobile" title="ExampleMobile" src=".github/readme/mobile.gif" width="200px" /> <img alt="ExampleMobile" title="ExampleMobile" src=".github/readme/mobile-dark.jpeg" width="200px" /> <img alt="ExampleMobile" title="ExampleMobile" src=".github/readme/mobile-light.jpeg" width="200px" /> <!-- <img alt="ExampleMobile" title="ExampleMobile" src=".github/app-detail.jpg" width="200px" /> --> <!-- </h4> -->Web
<h4 align="center"> <img alt="ExampleWeb" title="ExampleWeb" src=".github/readme/moveit.gif" width="700px" /> </h4>Theme Dark
<h4 align="center"> <img alt="home-dark" title="home-dark" src=".github/readme/home-dark.png" width="400px" /> <img alt="dashboard-dark" title="dashboard-dark" src=".github/readme/dashboard-dark.png" width="400px" /> <img alt="challenges-dark" title="challenges-dark" src=".github/readme/challenges-dark.png" width="400px" /> <img alt="challenges-completed-dark" title="challenges-completed-dark" src=".github/readme/challenges-completed-dark.png" width="400px" /> <img alt="leaderboard" title="leaderboard" src=".github/readme/leaderboard-dark.png" width="400px" /> </h4>Theme Light
<h4 align="center"> <img alt="home-light" title="home-light" src=".github/readme/home-light.png" width="400px" /> <img alt="dashboard-light" title="dashboard-light" src=".github/readme/dashboard-light.png" width="400px" /> <img alt="challenges-light" title="challenges-light" src=".github/readme/challenges-light.png" width="400px" /> <img alt="challenges-completed-light" title="challenges-completed-light" src=".github/readme/challenges-completed-light.png" width="400px" /> <img alt="leaderboard" title="leaderboard" src=".github/readme/leaderboard-light.png" width="400px" /> </h4> <br/>Storybook e Test
<h4 align="center"> <img alt="Example Test" title="ExampleTest" src=".github/readme/storybook.png" width="400px" /> <img alt="Example Test" title="ExampleTest" src=".github/readme/test-temporary.png" width="400px" /> </h4> <br/>:tada: Melhorias na Aplicação
-Adicionado api serverless na aplicação;
-Adicionado autenticação com github via Auth0;
-Adicionado Firebase para efetuar autenticação;
-Adicionado mongodb para salvar informações;
-Adicionado pagina de Leaderboard na aplicação;
-Adicionado theme dark na aplicação;
-Adicionado save theme no localStorage;
-Adicionado Switch para alterar os themes;
-Adicionado Toast como notificação;
-Adicionado Test com Jest;
-Adicionado storybook para os component;
-Adicionado opção de PWA na aplicação;
-Adicionado Ícones para representar os botões;
-Adicionado uma SideBar
-Adicionado component para SEO;
-Efetuado diversos ajustes no designer da aplicação;
-Efetuado ajustes para o mobile e PWA;
🎖 Milestone
-Melhorar a SSR da aplicação
-Ajustar autenticação no Mobile
-Ajustar designer do app para Mobile
-Adicionar compartilhar com Redes Sociais
-Concluir os testes
-Ajustes no Storybook
🔨 Tecnologias:
- TypeScript
- NextJS
- Firebase
- Mongodb
- Axios
- Styled Components
- Jest
- React Testing Library
- Storybook
- Eslint
- Prettier
- Husky
- PlopJS
- Polished
- Styled-Icons
🔎 Comandos
dev: Executa a aplicação emlocalhost:3000build: Cria a Build do projetostart: Inicia um servidor simples com o código de produçãolint: Executa o Linter em todos os componentes e páginastest: Executa Jest para testar todos os componentes e páginastest:watch: Executa Jest em watch modestorybook: Executa Storybook emlocalhost:6006build-storybook: Cria uma build do storybookgenerate: Cria automaticamente um componente
🚀 Como rodar este projeto
Para clonar e executar este aplicativo, você precisará de Git e NodeJs Instalado em seu computador.
🌀 Clonando o repositório
# Clone este repositório
$ git clone https://github.com/Alquipo/moveit
# Acesse a pasta do projeto no terminal/cmd
$ cd moveit
🎲 Rodando a Aplicação
# Instale as dependências
$ yarn install
# Execute a Aplicação em Desenvolvimento
$ yarn dev
# O servidor inciará na porta:3000 - acesse http://localhost:3000
💾 Comandos Úteis
#Criação de um componente completo com (index.tsx / stories.tsx / styles.ts / test.tsx)
$ yarn generate ComponentName
#Rodar o Storybook
$ yarn storybook
#Rodar os testes
$ yarn test
📁 Configuração .ENV
#adicionado .env.example no projeto, lembrar de adicionar as variáveis de ambiente conforme o exemplo
# FIREBASE
NEXT_PUBLIC_APIKEY=
NEXT_PUBLIC_AUTHDOMAIN=
NEXT_PUBLIC_PROJECTID=
NEXT_PUBLIC_STORAGEBUCKET=
NEXT_PUBLIC_MESSAGINGSENDERID=
NEXT_PUBLIC_APPID=
NEXT_PUBLIC_MEASUREMENTID=
# MONGODB
MONGODB_URI=
# API URLS
BASE_URL=
🤔 Como contribuir para o projeto
- Faça um fork do projeto;
- Crie uma nova branch com as suas alterações:
git checkout -b my-feature - Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feature: My new feature" - Envie as suas alterações:
git push origin my-feature
Caso tenha alguma dúvida confira este guia de como contribuir no GitHub
📝 Licença
Este projeto esta sobe a licença MIT. Veja a LICENÇA para saber mais.
Feito com ❤️ por Alquipo Neto 👋🏽 Entre em contato!
