#!/bin/bash CURRENT_DIR=$(pwd) mkdir $CURRENT_DIR/src mkdir $CURRENT_DIR/src/{application,core,domain,infrastructure} mkdir $CURRENT_DIR/src/application/{ports,services} mkdir $CURRENT_DIR/src/infrastructure/{adapters,api} mkdir $CURRENT_DIR/src/infrastructure/adapters/persistence touch $CURRENT_DIR/src/main.py echo "Here goes all repositories, each repo will implement the object they need and defines all methods as abstracts" > $CURRENT_DIR/src/application/ports/here.txt echo "Here we will use all repositores and will define as classes all functions we will implement as execute method" > $CURRENT_DIR/src/application/services/here.txt echo "Here we will define all the configurations for the multiple api's we're going to use" > $CURRENT_DIR/src/core/here.txt echo "Here we will define the entities that we will operate with, normally as dataclasses because we won't define methods here" > $CURRENT_DIR/src/domain/here.txt echo "Here we will define all the database parts, db will define the connection and session, models will define what is going to be in the database and the sql repository will define all the methods that will be executed in the database, these are called by the api." > $CURRENT_DIR/src/infrastructure/adapters/persistence/here.txt echo "Here we will define each api application in each directory, we can use router to make things easier and scallable" > $CURRENT_DIR/src/infrastructure/api/here.txt # == Architecture dependencies == # python3 -m venv $CURRENT_DIR/netflix source $CURRENT_DIR/netflix/bin/activate pip install uvicorn fastapi pydantic pydantic-settings sqlalchemy printf "#!/bin/bash \ncd $(pwd)/src/ \npython3 main.py\n" > $CURRENT_DIR/run.sh chmod +x $CURRENT_DIR/run.sh