Skip to content

ccuffs/controle-tccs-front

Repository files navigation

Controle TCCs Front

Interface web para gerenciamento de Trabalhos de Conclusão de Curso (TCCs) da UFFS.

Descrição

Sistema frontend para controle e gestão de TCCs, oferecendo interfaces para docentes, discentes e coordenadores. A aplicação permite gerenciar todo o fluxo de trabalho acadêmico, incluindo propostas de temas, orientações, bancas examinadoras, disponibilidades, convites, defesas e declarações.

Tecnologias

  • React 19
  • React Router 7
  • Material-UI (MUI) 7
  • Vite
  • Axios
  • Recharts (gráficos e visualizações)
  • date-fns (manipulação de datas)
  • html2pdf.js (geração de PDFs)

Pré-requisitos

  • Node.js (versão 14 ou superior)
  • Yarn ou npm
  • API backend do sistema (controle-tccs-api)

Instalação

yarn install

ou

npm install

Configuração

  1. Configure a URL da API backend editando o arquivo de configuração do Axios em src/auth/axios.js:
const API_BASE_URL = 'http://localhost:3010/api';
  1. Certifique-se de que a API backend está rodando e acessível.

Execução

Modo de desenvolvimento

Para iniciar o servidor de desenvolvimento:

yarn start

A aplicação estará disponível em http://localhost:5173

Build de produção

Para gerar o build de produção:

yarn build

Visualizar build de produção

Para visualizar o build de produção localmente:

yarn serve

Estrutura do Projeto

src/
├── auth/              # Configuração de autenticação e Axios
├── components/        # Componentes React
│   ├── App.jsx
│   ├── Login.jsx
│   ├── Dashboard.jsx
│   ├── ModuloDiscente.jsx
│   ├── ModuloOrientador.jsx
│   └── ...
├── contexts/          # Contextos React (Auth, Permissions)
├── enums/             # Enumerações e constantes
├── hooks/             # Custom hooks
├── services/          # Serviços de API
├── utils/             # Utilitários e helpers
├── entry.client.tsx   # Ponto de entrada do cliente
├── root.tsx           # Componente raiz
└── routes.ts          # Configuração de rotas

Funcionalidades Principais

Para Discentes

  • Visualização do perfil acadêmico
  • Acompanhamento do processo de TCC
  • Visualização de temas disponíveis
  • Acompanhamento de orientação
  • Informações sobre banca e defesa

Para Orientadores

  • Gerenciamento de orientandos
  • Criação e gerenciamento de temas de TCC
  • Envio de convites para orientação
  • Gerenciamento de disponibilidade para bancas
  • Visualização de convites recebidos
  • Avaliação de defesas
  • Emissão de declarações

Para Coordenadores

  • Dashboard com estatísticas gerais
  • Gerenciamento de docentes e discentes
  • Gerenciamento de cursos e ofertas de TCC
  • Acompanhamento de orientações e defesas
  • Visualização de gráficos e relatórios
  • Controle de datas de defesa
  • Gerenciamento de bancas por curso

Módulos

Dashboard

Apresenta estatísticas e gráficos sobre:

  • Distribuição de estudantes por etapa do TCC
  • Convites de orientação por período
  • Convites para bancas
  • Defesas por docente
  • Orientandos por docente

Módulo Discente

  • Perfil do discente
  • Stepper de acompanhamento do TCC
  • Visualização de temas disponíveis
  • Informações sobre orientação atual

Módulo Orientador

  • Perfil do orientador
  • Gerenciamento de temas
  • Controle de orientandos
  • Gestão de disponibilidade para bancas
  • Convites recebidos e enviados
  • Avaliação de defesas

Gerenciamento Acadêmico

  • Cadastro e edição de docentes
  • Cadastro e edição de discentes
  • Gerenciamento de cursos
  • Controle de orientações
  • Agendamento de defesas
  • Gerenciamento de bancas

Autenticação

A aplicação utiliza autenticação JWT (JSON Web Token). O token é armazenado localmente e enviado automaticamente em todas as requisições através de um interceptor do Axios.

Autorização

O sistema implementa controle de permissões baseado em grupos e categorias, sincronizado com o backend. Os componentes e funcionalidades são renderizados condicionalmente de acordo com as permissões do usuário.

Temas

A aplicação suporta tema claro e escuro, com alternância através do componente ThemeSwitch.

Licença

MIT

Autor(s)

Giancarlo Salton - [email protected]

Repositório

https://github.com/ccuffs/controle-tccs-front

Integração com Backend

Este frontend consome a API REST do projeto controle-tccs-api. Consulte a documentação da API para mais informações sobre os endpoints disponíveis.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published