Skip to content

SaadZ3/react-api-DEPTO

Repository files navigation

GuiaDepto

Sistema web para gerenciamento e consulta de departamentos organizacionais, permitindo encontrar rapidamente informações de contato, localização e responsáveis de cada setor.

📋 Sobre o Projeto

O GuiaDepto é uma aplicação desenvolvida em React que facilita a organização e consulta de informações de departamentos. Com uma interface moderna e intuitiva, o sistema permite tanto a consulta pública de departamentos quanto o gerenciamento administrativo dos dados.

✨ Funcionalidades

  • Consulta de Departamentos: Busca inteligente com filtros e autocompletar
  • Gerenciamento: Área administrativa para criar, editar e excluir departamentos
  • Organização por Andares: Visualização estruturada dos departamentos por localização
  • Autenticação: Sistema de login para acesso às funcionalidades administrativas
  • Informações Detalhadas: Ramal, e-mail, funcionários responsáveis e localização

🚀 Tecnologias

  • React
  • Redux (gerenciamento de estado)
  • Redux Saga (efeitos colaterais)
  • React Router (navegação)
  • Styled Components (estilização)
  • Axios (requisições HTTP)
  • React Toastify (notificações)

📦 Instalação

# Clone o repositório
git clone [url-do-repositorio]

# Instale as dependências
npm install

# Configure a URL da API em src/services/axios.js

# Inicie o projeto
npm start

🔧 Configuração

A aplicação requer uma API REST para funcionar. Configure a URL base da API no arquivo src/services/axios.js:

export default axios.create({
   baseURL: 'sua-url-api-aqui',
});

📱 Estrutura de Rotas

  • / - Landing page
  • /consultar - Consulta de departamentos (pública)
  • /gerenciar - Gerenciamento de departamentos (requer login)
  • /departamentos/:andar - Lista departamentos por andar (requer login)
  • /departamento/ - Criar novo departamento (requer login)
  • /departamento/:id/edit - Editar departamento (requer login)
  • /login - Página de login
  • /register - Registro de usuário

🎨 Tema

O projeto utiliza um tema escuro moderno com paleta de cores baseada em indigo/roxo. As cores e estilos podem ser personalizados através do arquivo src/config/colors.js.

👤 Autenticação

O sistema utiliza JWT (JSON Web Tokens) para autenticação. O token é armazenado no Redux e persistido no localStorage através do redux-persist.

🔒 Rotas Protegidas

As rotas de gerenciamento são protegidas e requerem autenticação. Usuários não autenticados são redirecionados para a página de login.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published