35 lines
1.7 KiB
Bash
Executable File
35 lines
1.7 KiB
Bash
Executable File
#!/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
|