Created
April 6, 2025 13:25
-
-
Save andersonbosa/651075e95a40a9cd065df6e8186eba7d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
create_domain_structure() { | |
local domain_name=$1 | |
mkdir -p ${PROJECT_NAME}/src/modules/${domain_name}/application/{commands,queries,services} | |
touch ${PROJECT_NAME}/src/modules/${domain_name}/application/{commands,queries,services}/index.ts | |
mkdir -p ${PROJECT_NAME}/src/modules/${domain_name}/domain/{entities,value-objects,repositories,events} | |
touch ${PROJECT_NAME}/src/modules/${domain_name}/domain/{entities,value-objects,repositories,events}/index.ts | |
mkdir -p ${PROJECT_NAME}/src/modules/${domain_name}/infrastructure/{orm,services} | |
touch ${PROJECT_NAME}/src/modules/${domain_name}/infrastructure/{orm,services}/index.ts | |
mkdir -p ${PROJECT_NAME}/src/modules/${domain_name}/presentation/{controllers,dtos} | |
touch ${PROJECT_NAME}/src/modules/${domain_name}/presentation/{controllers,dtos}/index.ts | |
} | |
if [[ -z "$1" ]]; then | |
echo "ERROR: missing parameter: PROJECT_NAME" | |
return 1 | |
fi | |
PROJECT_NAME="$@" | |
# Criar a estrutura de diretórios | |
create_domain_structure auth | |
create_domain_structure user | |
create_domain_structure orders | |
mkdir -p ${PROJECT_NAME}/src/shared/{decorators,exceptions,middleware,utils} | |
mkdir -p ${PROJECT_NAME}/src/config | |
# Criar arquivos iniciais | |
touch ${PROJECT_NAME}/src/main.ts | |
touch ${PROJECT_NAME}/src/app.module.ts | |
# Criar arquivos de configuração | |
touch ${PROJECT_NAME}/package.json | |
touch ${PROJECT_NAME}/tsconfig.json | |
touch ${PROJECT_NAME}/.env | |
touch ${PROJECT_NAME}/.env.development | |
touch ${PROJECT_NAME}/.env.staging | |
touch ${PROJECT_NAME}/.env.production | |
echo "Estrutura de pastas criada com sucesso em ${PROJECT_NAME}." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment