# Estrutura de Pastas
O Sprout possui uma estrutura de pastas simples para facilitar durante o desenvolvimento.
Veja abaixo como funciona esta estrutura:
# Business
Começamos designando a primeira pasta para armazenar o core do Sprout.
Aqui, ficam as aplicações responsáveis por desempenhar a execução das principais regras de negócio.
Exemplo: Em um sistema que deve agendar consultas médicas, armazenamos nessa pasta todas as aplicações responsáveis por realizar essa ação.
O importante é centralizar aqui todas as aplicações que de fato executam as principais regras de negócio e não sejam coisas triviais, como cadastro de usuários ou gerenciamento de clientes.
# Customers
Armazene aqui as aplicações que cuidam da entidade Cliente no seu sistema.
Você pode modularizar os clientes de um sistema montando um conjunto de aplicações que manipulam dados como: Informações gerais, contatos, endereços, telefones e etc.
# Analytics
Pasta responsável por conter todas as aplicações BI que tem como finalidade a análise de dados envolvidos num projeto:
Dashboards, resumos, pivot tables, gráficos, entre outros relatórios.
# Users
Aqui ficam as aplicações de usuários do nosso módulo de segurança.
Há situações em que usuários também são funcionários. Portanto, você poderá aplicar este modelo ou adaptá-lo movendo a pasta Users para dentro de Employees.
# Departments
Esse é mais um nível no módulo de segurança. Essa pasta é responsável por todas as aplicações que dizem respeito à entidade de departamentos ou grupos.
# Employees
Assim como na pasta Customers, esse diretório também serve para guardar as aplicações responsáveis por lidar com a entidade Funcionário.
Deixe aqui tudo que for responsável pela entrada, gerenciamento e listagem de funcionários.
# System
Separamos essa pasta para manter organizadas todas as aplicações responsáveis por garantir o bom funcionamento do sistema.
Nesse nível, ficam o restante das aplicações do módulo de segurança, junto com as aplicações do módulo de log.
# Settings
No Sprout, entregamos aos clientes algumas interfaces de configurações gerais. Coisas como: Mudança de tema, logomarca que é exibida, modelos de login e etc.
Guardamos essas aplicações aqui.
# Messages
Aqui ficam as aplicações de comunicação (Alerta, notificações, chats).
# Support
Armazenamos aqui as aplicações que fazem a comunicação dos usuários do sistema com o nosso suporte.
# __Assets
Recursos utilizados pelo Sprout como aplicações auxiliares, scripts, APIs, bibliotecas externas e outros.
# __Trash
Funciona como um ambiente isolado de testes.
Sempre que você precisar analisar alguma funcionalidade ou testar um possível bug, crie ou copie uma aplicação aqui dentro e fique totalmente seguro para fazer o que for necessário.
Observação:
Lembre-se de excluir as aplicações após os testes, para que não sejam sincronizadas na base de dados.