Ignite Gym é uma aplicação de gerenciamento de treinos para academia.
O Ignite Gym é uma aplicação para você gerenciar seus treinos na academia e ter mais controle sobre os exercícios que está realizando. A Aplicação consome um back-end em Node.js que contém uma variedade de exercícios divididos em categorias, de modo que você pode filtrar pela categoria e então acessar o exercício desejado para receber a recomendação de quantas séries realizar. Após realizar um exercício você pode marcá-lo como realizado, e então ele ficará salvo em seu histórico.
A aplicação conta com um sistema de cadastro de usuários 100% funcional, fazendo uso de tokens de autenticação, onde você pode gerenciar a sua senha e o seu avatar.
Além disso, toda ela funciona com o uso do Async Storage, ou seja, se você fechar a aplicação os dados que inseriu nela estarão lá na próxima vez que você abri-la.
Imagens da aplicação são vistas abaixo:
As seguintes tecnologias foram empregadas na criação deste projeto:
- React Native
- TypeScript
- Phosphor Icons
- ESLint
- NativeBase
- Async Storage
- React Navigation
- React Navigation Native Stack
- Expo Google Fonts
- Axios
- React Navigation Bottom Tabs
- Expo Image Picker
- React Hook Form
- Yup
Clone o projeto para o local desejado em seu computador.
$ git clone git@github.com:andreviapiana/IgniteGym.git
# Navegue até o diretório
$ cd api
# Instale as dependências necessárias
$ npm install
# Agora inicie o servidor do back-end
$ npm run start
# O servidor irá rodar na porta 3333 com o aviso: "Server is running on Port 3333".
# Com o back-end rodando, abra um novo terminal e navegue até o diretório
$ cd mobile
# Instale as dependências necessárias
$ npm install
# Agora inicie a aplicação - Um QR Code será exibido no Terminal
$ npm run start
# Eu seu celular instale o aplicativo Expo Go - Ele é gratuito na PlayStore.
# Abra o Expo Go que acabou de instalar, e então escaneie o QR Code através do aplicativo.
# A aplicação então será exibida de forma 100% funcional diretamente em seu celular.
Made with ❤️ by André Viapiana 👋🏽 Get in Touch!