Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

NossoRH - Aplicativo de Gestão de RH

Aplicativo mobile (React Native/Expo) + API Backend (Node.js/Express/PostgreSQL) para gestão de recursos humanos.


Pré-requisitos

Antes de começar, certifique-se de ter instalado:


Estrutura do Projeto

NossoRH-App/
├── Back-end/          # API Node.js + Express + PostgreSQL
└── NossoRH/           # App Mobile React Native + Expo

1. Configurar o Back-end

1.1 Instalar dependências

cd Back-end
npm install

1.2 Configurar variáveis de ambiente

Copie o arquivo de exemplo e edite conforme seu ambiente:

cp .env.example .env

Conteúdo do .env:

PORT=3000
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=nossorh
JWT_SECRET=uma_chave_secreta_qualquer

Altere DB_USER e DB_PASSWORD conforme suas credenciais do PostgreSQL.

1.3 Criar banco de dados, tabelas e dados de exemplo

Execute um único comando que faz tudo:

npm run setup-db

Isso irá:

  1. Criar o banco nossorh (se não existir)
  2. Criar todas as tabelas
  3. Inserir dados de exemplo (funcionários, demonstrativos, pontos, etc.)

Se precisar rodar separadamente:

  • npm run db:create — cria o banco
  • npm run migrate — cria as tabelas
  • npm run seed — insere os dados

1.4 Iniciar o servidor

npm run dev

O servidor vai rodar em http://localhost:3000. Você verá:

[NossoRH] Server running on port 3000
[Database] Connected to PostgreSQL

2. Configurar o Front-end (App Mobile)

2.1 Instalar dependências

cd NossoRH
npm install

2.2 Configurar o IP do Back-end

Edite o arquivo src/services/api.js e altere a BASE_URL para o IP da máquina que está rodando o back-end:

const BASE_URL = 'http://SEU_IP_LOCAL:3000/api';

Para descobrir seu IP local:

  • Windows: ipconfig → procure "Endereço IPv4"
  • Mac/Linux: ifconfig ou ip addr

O celular precisa estar na mesma rede Wi-Fi que o computador.

2.3 Iniciar o app

npx expo start

Escaneie o QR Code com o app Expo Go no celular.


3. Credenciais de Acesso

Após rodar o seed, use estas credenciais para login:

Campo Valor
Empresa teste
Usuário teste
Senha teste

Outros usuários disponíveis (todos com senha teste):

Usuário Perfil
teste Funcionário
maria.oliveira Funcionário
carlos.pereira Gestor
ana.ferreira Funcionário
roberto.lima Admin

4. Scripts Disponíveis

Back-end (/Back-end)

Comando Descrição
npm run dev Inicia o servidor em modo desenvolvimento
npm run setup-db Cria banco + tabelas + dados (tudo de uma vez)
npm run db:create Cria apenas o banco de dados
npm run migrate Cria apenas as tabelas
npm run seed Insere apenas os dados de exemplo
npm run build Compila TypeScript para JavaScript
npm run start Inicia o servidor compilado (produção)

Front-end (/NossoRH)

Comando Descrição
npx expo start Inicia o Expo dev server
npm run android Inicia direto no Android
npm run ios Inicia direto no iOS

5. Tecnologias Utilizadas

Back-end

  • Node.js + TypeScript
  • Express
  • PostgreSQL
  • JWT (autenticação)
  • bcryptjs (hash de senhas)

Front-end

  • React Native + Expo (SDK 54)
  • React Navigation
  • Axios
  • Expo Location (geolocalização)
  • Expo Linear Gradient

6. Funcionalidades

  • Login com autenticação JWT
  • Dashboard com menu de acesso rápido
  • Demonstrativos de pagamento (mensal, adiantamento, 13º, férias)
  • Registro de ponto com geolocalização
  • Solicitação de férias
  • Envio de atestados
  • Visualização de benefícios
  • Dados pessoais do funcionário
  • Dependentes
  • Notificações
  • Gestão de solicitações (perfil gestor)
  • Configurações

7. Solução de Problemas

"Network Error" no login

  • Verifique se o back-end está rodando (npm run dev)
  • Verifique se o IP em src/services/api.js está correto
  • Verifique se celular e PC estão na mesma rede Wi-Fi

"Credenciais inválidas"

  • Certifique-se de que rodou npm run seed no back-end
  • Use exatamente: empresa teste, usuário teste, senha teste

Erro de AsyncStorage

  • É apenas um aviso, pode ser ignorado. O app funciona normalmente em memória.

Banco não conecta

  • Verifique se o PostgreSQL está rodando
  • Verifique as credenciais no arquivo .env
  • Certifique-se de que rodou npm run setup-db

About

Sistema de bater ponto e gestão de negocios, Back-end: Node.js , Express e PostgreSQL. Front-end: React Native e Expo

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages