Um aplicativo para academias, desenvolvido para gerenciar exercícios organizados por grupos musculares, oferecendo as seguintes funcionalidades:
- Autenticação de usuário com
Sign-in
eSign-up
; - Gestão de sessão com
Token
eRefresh-token
; - Listagem de exercícios filtrados por grupo muscular;
- Exibição detalhada de cada exercício;
- Marcação de exercícios como realizados;
- Histórico de atividades do usuário agrupado por dia;
- Perfil do usuário;
- Atualização de informações de perfil (avatar, nome, senha);
- Validação de inputs;
- Integração com API para busca e persistência dos dados.
-
Mobile:
- Expo | ~51.0.28
- React Native | 0.74.5
- Typescript | ~5.3.3 -D
- @Gluestack-ui | ^1.1.34
- React Hook Form | ^7.53.0
- Yup | ^1.4.0
- Axios | ^1.7.7
- Async Storage | 1.23.1
-
API:
- Express | ^4.18.1
- Jsonwebtoken | ^8.5.1
- Knex | ^2.2.0
- Multer | ^1.4.5-lts.1
- Sqlite3 | ^5.0.11
SignIn | SignUp | Home | Details | History | Profile |
---|---|---|---|---|---|
- Pré-requisitos: Node.js v18 instalado.
-
Clone o repositório e instale as dependências:
git clone https://github.com/jfernandesdev/appgym.git cd appgym/api npm install
-
Configurar variáveis de ambiente:
- Renomeie o arquivo
.env-example
para.env
. - No arquivo
.env
, defina oJWT_SECRET
com um valor de sua escolha.
- Renomeie o arquivo
-
Executar as migration do banco de dados:
npx knex migrate:latest
-
Carregar os dados iniciais (exercícios):
npx knex seed:run --specific=createExercises.js
-
Visualizar o banco de dados (opcional):
- Use o Beekeeper Studio ou outro cliente SQL para acessar o banco de dados local na pasta
database
.
- Use o Beekeeper Studio ou outro cliente SQL para acessar o banco de dados local na pasta
-
Instalar as dependências:
cd appgym/mobile npm install
-
Configurar variáveis de ambiente:
- Renomeie o arquivo
.env-example
para.env
. - No arquivo
.env
, configureBASE_URL
com o endereço IP local da sua máquina seguido de:3333
(não uselocalhost
ou127.0.0.1
pois o dispositivo físico não tem acesso).
- Renomeie o arquivo
-
Iniciar o app:
- Com o emulador aberto ou um dispositivo físico conectado via USB, execute:
npx expo start
- Com o emulador aberto ou um dispositivo físico conectado via USB, execute: