Aplicativo mobile (React Native/Expo) + API Backend (Node.js/Express/PostgreSQL) para gestão de recursos humanos.
Antes de começar, certifique-se de ter instalado:
- Node.js (v18 ou superior) — https://nodejs.org
- PostgreSQL (v14 ou superior) — https://www.postgresql.org/download/
- Expo Go no celular (Android/iOS) — disponível na Play Store / App Store
NossoRH-App/
├── Back-end/ # API Node.js + Express + PostgreSQL
└── NossoRH/ # App Mobile React Native + Expo
cd Back-end
npm installCopie o arquivo de exemplo e edite conforme seu ambiente:
cp .env.example .envConteú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_qualquerAltere
DB_USEReDB_PASSWORDconforme suas credenciais do PostgreSQL.
Execute um único comando que faz tudo:
npm run setup-dbIsso irá:
- Criar o banco
nossorh(se não existir) - Criar todas as tabelas
- Inserir dados de exemplo (funcionários, demonstrativos, pontos, etc.)
Se precisar rodar separadamente:
npm run db:create— cria o banconpm run migrate— cria as tabelasnpm run seed— insere os dados
npm run devO servidor vai rodar em http://localhost:3000. Você verá:
[NossoRH] Server running on port 3000
[Database] Connected to PostgreSQL
cd NossoRH
npm installEdite 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:
ifconfigouip addr
O celular precisa estar na mesma rede Wi-Fi que o computador.
npx expo startEscaneie o QR Code com o app Expo Go no celular.
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 |
| 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) |
| 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 |
- Node.js + TypeScript
- Express
- PostgreSQL
- JWT (autenticação)
- bcryptjs (hash de senhas)
- React Native + Expo (SDK 54)
- React Navigation
- Axios
- Expo Location (geolocalização)
- Expo Linear Gradient
- 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
- Verifique se o back-end está rodando (
npm run dev) - Verifique se o IP em
src/services/api.jsestá correto - Verifique se celular e PC estão na mesma rede Wi-Fi
- Certifique-se de que rodou
npm run seedno back-end - Use exatamente: empresa
teste, usuárioteste, senhateste
- É apenas um aviso, pode ser ignorado. O app funciona normalmente em memória.
- Verifique se o PostgreSQL está rodando
- Verifique as credenciais no arquivo
.env - Certifique-se de que rodou
npm run setup-db