Pular para o conteúdo principal

Server

server/

A pasta server contém um conjunto de ficheiros e pastas que formam o backend da aplicação.

Estrutura da pasta server

Na pasta server encontra-se a seguinte estrutura:

└─ server/
├─ actions/
├─ core/
│ ├─ _config.js/
│ ├─ _init.js/
│ ├─ _request_close.js/
│ ├─ _request_end.js/
│ ├─ _request_error.js/
│ ├─ _request_start.js/
│ ├─ _request_url.js/
│ ├─ _service_config.js/
│ ├─ _service_end.js/
│ ├─ _service_error.js/
│ └─ _service_start.js/
├─ services/
│ ├─ firebase/
│ │ ├─ listener/
│ ├─ jobs/
├─ setup/
│ └─ _end.js/
│ └─ _schema-form-xxx.js/
│ └─ _start.js/
└─ templates/
├─ dev/
│ └─ dashboard.html
├─ dashboard.html
├─ scripts.html
├─ scripts_dev.html
├─ scripts_login.html
├─ styles.html
├─ styles_dev.html
└─ styles_login.html

actions/

Em actions podem ser adicionados acções customizações à medida (hooks) nas operações de CRUD dos formulários.

core/

A pasta core permite a injeção de código em situações consideradas especiais.

_config.js onde são efectuadas as configurações da aplicação do lado do servidor.

_init.js destina-se aos parâmetros de inicialização de recursos da aplicação servidor.

_request_close.js _request_end.js _request_error.js _request_start.js _request_url.js permitem parametrizar os pedidos ao servidor através da injeção de código em difertes momentos de execução.

_service_config.js _service_end.js _service_error.js _service_start.js são hooks de diferentes momentos do clico de vida aplicacional onde poderá ser introduzida lógica.

services/

É na pasta services que são criados os serviços que formam a API aplicacional.

firebase/listener Caso activo, deve ser descrito o comportamento para quando é recebida uma actualização de campos do serviço do firebase.

jobs Caso activo, deve ser descrito o agendamento assim como o código a executar pelos serviços de cronjobs.

export-pdf.js Tomando como exemplo um serviço para gerar PDF's, seria nesta directoria que seria programado o comportamento de invocação da biblioteca de PDF's e o retorno do PDF para o cliente. Estes podem ser escritos em Javascript, Python, Java, Kotlin, Ruby ou Groovy.

Não são necessárias configurações adicionais em função da linguagem de programação usada, basta criar o ficheiro do serviço com a extensão correcta.

setup/

setup é alimentada automaticamente pelo motor do Netuno com os schemas de base de dados e os respectivos dados.

_end.js hook executado após carregamento do(s) schema(s).

_schema-form-bla.js ficheiro de schema com a informação criada de formulários, campos e dados de um determinado formulário, ex. bla.

_end.js hook executado antes do carramento do(s) schema(s).

templates/

A pasta templates contém o contéudo HTML das páginas da aplicação.

A pasta dev contém o ficheiro 'dashboard.html' que permite a criação da área de trabalho do modo de construção.

dashboard.html contém o HTML da área de trabalho do modo de construção ou visualização, de acordo com a sua localização.

scripts.html , scripts_dev.html e scripts_login.html têm o mesmo propósito mas para locais diferentes. O primeiro diz respeito a scripts injectados no modo de construção, o seguinte relaciona-se com o modo de visualização e o último relaciona-se com o módulo de autenticação da aplicação, permitindo a inserção de scripts com a particularidade de que estes scripts prevalecem em relação a outros já definidos.

styles.html, styles_dev.html e styles_login.html, à semelhança dos scripts, constituem o HTML referente aos estilos para os módulos de visualização, contrução e autenticação aplicacional, respectivamente.