Visão geral

O Projeto Sistema de Autenticação Segura da FSW da FWS foi desenvolvido como parte de uma extensão curricular para obtenção de horas complementares. O projeto consiste na criação de um serviço utilizando Node.js para autenticação no servidor interno do Instituto Federal de Goiás via protocolo LDAP.

A aplicação funciona como uma API REST e implementa autenticação dupla utilizando JWT (JSON Web Token), garantindo maior segurança na comunicação e no acesso aos dados.
Tecnologias Utilizadas

Para a construção do projeto, utilizamos as seguintes tecnologias:

Node.js – Ambiente de execução para JavaScript no backend
Express – Framework minimalista para criação de servidores
ldapts – Cliente LDAP para autenticação e comunicação segura
JWT (JSON Web Token) – Implementação de autenticação dupla

Estrutura do Projeto e Melhorias Futuras

Atualmente, o sistema está em uma fase inicial, com poucas entidades. Para manter boas práticas de arquitetura de software, foram criadas pastas separadas para diferentes responsabilidades da aplicação.

Com o crescimento do projeto e o aumento no número de entidades, será essencial reorganizar a estrutura do código seguindo o conceito de Domain-Driven Design (DDD). Isso permitirá um código mais modular, escalável e de fácil manutenção.
Estrutura Proposta (DDD)

A separação por domínio consiste na seguinte organização:

/src
├── users
│ ├── controller.js
│ ├── routes.js
│ ├── service.js
│ ├── repository.js
│ ├── model.js

├── auth
│ ├── controller.js
│ ├── routes.js
│ ├── service.js
│ ├── repository.js

├── config
│ ├── database.js
│ ├── ldap.js

├── middleware
│ ├── authMiddleware.js

├── app.js
├── server.js

Benefícios dessa Estrutura

  • Maior organização e modularidade
  • Separação clara entre domínios da aplicação
  • Facilidade na adição de novas funcionalidades
  • Melhor manutenção e escalabilidade

Como Executar o Projeto

Clone o repositório

git clone https://github.com/seu-usuario/secure-core-fws.git
cd secure-core-fws

Instale as dependências

npm install

Configure as variáveis de ambiente (arquivo .env)

PORT=3000
NODE_ENV=development
LOGS_RETENTION_DAYS=7
LOGS_MAX_SIZE_MB=5
LOGS_DIR=logs
...

Inicie o servidor

npm start

Acesse a API
Rota de autenticação: POST /auth/login
Rota de usuários: GET /users

O código encontra-se na plataforma GitHub no endereço: https://github.com/aristeu-garcia/secure-core-fws

Tarefas

Ver todas as tarefas | Calendário | Gantt

Membros

Gerente: Elymar Pereira Cabral
Desenvolvedor Master: Elymar Pereira Cabral
Desenvolvedor Convidado: Elymar Pereira Cabral
Informante: Elymar Pereira Cabral