Skip to content

ccuffs/controle-tccs-front

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

169 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 - gian@uffs.edu.br

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

 
 
 

Contributors