From 85e95ce00bcbbf4a688433ed927a85350a7fd3f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sun, 25 Feb 2024 17:50:12 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Clean=20up=20old=20files=20no=20?= =?UTF-8?q?longer=20relevant=20(#608)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/{test.yaml => test.yml} | 2 +- .gitignore | 2 - .travis.yml | 12 ---- CONTRIBUTING.md | 83 ----------------------- README.md | 4 -- scripts/dev-fsfp-back.sh | 22 ------ scripts/dev-fsfp.sh | 13 ---- scripts/dev-link.sh | 34 ---------- scripts/discard-dev-files.sh | 13 ---- scripts/generate_cookiecutter_config.py | 20 ------ scripts/test.sh | 16 ----- src/.env | 3 +- src/.gitignore | 3 - 13 files changed, 2 insertions(+), 225 deletions(-) rename .github/workflows/{test.yaml => test.yml} (95%) delete mode 100644 .travis.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 scripts/dev-fsfp-back.sh delete mode 100644 scripts/dev-fsfp.sh delete mode 100644 scripts/dev-link.sh delete mode 100644 scripts/discard-dev-files.sh delete mode 100644 scripts/generate_cookiecutter_config.py delete mode 100644 scripts/test.sh delete mode 100755 src/.gitignore diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yml similarity index 95% rename from .github/workflows/test.yaml rename to .github/workflows/test.yml index 6cf1d1493da..aabe1888d5e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yml @@ -25,7 +25,7 @@ jobs: with: python-version: '3.10' - - name: Docker Compose build + - name: Run tests run: docker compose build - name: Docker Compose remove old containers and volumes run: docker compose down -v --remove-orphans diff --git a/.gitignore b/.gitignore index 5d778b370c8..be16fd8a57b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ .vscode -testing-project .mypy_cache poetry.lock -dev-link/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ad7e0349a3d..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -sudo: required - -language: python - -install: - - pip install cookiecutter - -services: - - docker - -script: -- bash ./scripts/test.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index d95d76171c4..00000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,83 +0,0 @@ -# Contributing - -Here are some short guidelines to guide you if you want to contribute to the development of the Full Stack FastAPI PostgreSQL project generator itself. - -After you clone the project, there are several scripts that can help during development. - -* `./scripts/dev-fsfp.sh`: - -Generate a new default project `dev-fsfp`. - -Call it from one level above the project directory. So, if the project is at `~/code/full-stack-fastapi-postgresql/`, call it from `~/code/`, like: - -```console -$ cd ~/code/ - -$ bash ./full-stack-fastapi-postgresql/scripts/dev-fsfp.sh -``` - -It will generate a new project with all the defaults at `~/code/dev-fsfp/`. - -You can go to that directory with a full new project, edit files and test things, for example: - -```console -$ cd ./dev-fsfp/ - -$ docker-compose up -d -``` - -It is outside of the project generator directory to let you add Git to it and compare versions and changes. - -* `./scripts/dev-fsfp-back.sh`: - -Move the changes from a project `dev-fsfp` back to the project generator. - -You would call it after calling `./scripts/dev-fsfp.sh` and adding some modifications to `dev-fsfp`. - -Call it from one level above the project directory. So, if the project is at `~/code/full-stack-fastapi-postgresql/`, call it from `~/code/`, like: - -```console -$ cd ~/code/ - -$ bash ./full-stack-fastapi-postgresql/scripts/dev-fsfp-back.sh -``` - -That will also contain all the generated files with the generated variables, but it will let you compare the changes in `dev-fsfp` and the source in the project generator with git, and see what to commit. - -* `./scripts/discard-dev-files.sh`: - -After using `./scripts/dev-fsfp-back.sh`, there will be a bunch of generated files with the variables for the generated project that you don't want to commit, like `README.md` and `.gitlab-ci.yml`. - -To discard all those changes at once, run `discard-dev-files.sh` from the root of the project, e.g.: - -```console -$ cd ~/code/full-stack-fastapi-postgresql/ - -$ bash ./scripts/dev-fsfp-back.sh -``` - -* `./scripts/test.sh`: - -Run the tests. It creates a project `testing-project` *inside* of the project generator and runs its tests. - -Call it from the root of the project, e.g.: - -```console -$ cd ~/code/full-stack-fastapi-postgresql/ - -$ bash ./scripts/test.sh -``` - -* `./scripts/dev-link.sh`: - -Set up a local directory with links to the files for live development with the source files. - -This script generates a project `dev-link` *inside* the project generator, just to generate the `.env` and `./frontend/.env` files. - -Then it removes everything except those 2 files. - -Then it creates links for each of the source files, and adds those 2 files back. - -The end result is that you can go into the `dev-link` directory and develop locally with it as if it was a generated project, with all the variables set. But all the changes are actually done directly in the source files. - -This is probably a lot faster to iterate than using `./scripts/dev-fsfp.sh`. But it's tested only in Linux, it might not work in other systems. diff --git a/README.md b/README.md index 87d367d1303..815e9b8d133 100644 --- a/README.md +++ b/README.md @@ -112,10 +112,6 @@ The input variables, with their default values (some auto generated) are: * `project_slug`: The development friendly name of the project. By default, based on the project name * `domain_main`: The domain in where to deploy the project for production (from the branch `production`), used by the load balancer, backend, etc. By default, based on the project slug. * `domain_staging`: The domain in where to deploy while staging (before production) (from the branch `master`). By default, based on the main domain. - -* `docker_swarm_stack_name_main`: The name of the stack while deploying to Docker in Swarm mode for production. By default, based on the domain. -* `docker_swarm_stack_name_staging`: The name of the stack while deploying to Docker in Swarm mode for staging. By default, based on the domain. - * `secret_key`: Backend server secret key. Use the method above to generate it. * `first_superuser`: The first superuser generated, with it you will be able to create more users, etc. By default, based on the domain. * `first_superuser_password`: First superuser password. Use the method above to generate it. diff --git a/scripts/dev-fsfp-back.sh b/scripts/dev-fsfp-back.sh deleted file mode 100644 index 95e9b781022..00000000000 --- a/scripts/dev-fsfp-back.sh +++ /dev/null @@ -1,22 +0,0 @@ -#! /usr/bin/env bash - -# Run this script from outside the project, to integrate a dev-fsfp project with changes and review modifications - -# Exit in case of error -set -e - -if [ ! -d ./full-stack-fastapi-postgresql ] ; then - echo "Run this script from outside the project, to integrate a sibling dev-fsfp project with changes and review modifications" - exit 1 -fi - -if [ $(uname -s) = "Linux" ]; then - echo "Remove __pycache__ files" - sudo find ./dev-fsfp/ -type d -name __pycache__ -exec rm -r {} \+ -fi - -rm -rf ./full-stack-fastapi-postgresql/\{\{cookiecutter.project_slug\}\}/* - -rsync -a --exclude=node_modules ./dev-fsfp/* ./full-stack-fastapi-postgresql/\{\{cookiecutter.project_slug\}\}/ - -rsync -a ./dev-fsfp/{.env,.gitignore,.gitlab-ci.yml} ./full-stack-fastapi-postgresql/\{\{cookiecutter.project_slug\}\}/ diff --git a/scripts/dev-fsfp.sh b/scripts/dev-fsfp.sh deleted file mode 100644 index 9afbe30b155..00000000000 --- a/scripts/dev-fsfp.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /usr/bin/env bash - -# Exit in case of error -set -e - -if [ ! -d ./full-stack-fastapi-postgresql ] ; then - echo "Run this script from outside the project, to generate a sibling dev-fsfp project with independent git" - exit 1 -fi - -rm -rf ./dev-fsfp - -cookiecutter --no-input -f ./full-stack-fastapi-postgresql project_name="Dev FSFP" diff --git a/scripts/dev-link.sh b/scripts/dev-link.sh deleted file mode 100644 index 3b59f9d52a6..00000000000 --- a/scripts/dev-link.sh +++ /dev/null @@ -1,34 +0,0 @@ -#! /usr/bin/env bash - -# Exit in case of error -set -e - -# Run this from the root of the project to generate a dev-link project -# It will contain a link to each of the files of the generator, except for -# .env and frontend/.env, that will be the generated ones -# This allows developing with a live stack while keeping the same source code -# Without having to generate dev-fsfp and integrating back all the files - -rm -rf dev-link -mkdir -p tmp-dev-link/frontend - -cookiecutter --no-input -f ./ project_name="Dev Link" - -mv ./dev-link/.env ./tmp-dev-link/ -mv ./dev-link/frontend/.env ./tmp-dev-link/frontend/ - -rm -rf ./dev-link/ -mkdir -p ./dev-link/ - -cd ./dev-link/ - -for f in ../\{\{cookiecutter.project_slug\}\}/* ; do - ln -s "$f" ./ -done - -cd .. - -mv ./tmp-dev-link/.env ./dev-link/ -mv ./tmp-dev-link/frontend/.env ./dev-link/frontend/ - -rm -rf ./tmp-dev-link diff --git a/scripts/discard-dev-files.sh b/scripts/discard-dev-files.sh deleted file mode 100644 index 7a07a70bb33..00000000000 --- a/scripts/discard-dev-files.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /usr/bin/env bash - -set -e - -rm -rf \{\{cookiecutter.project_slug\}\}/.git -rm -rf \{\{cookiecutter.project_slug\}\}/backend/app/poetry.lock -rm -rf \{\{cookiecutter.project_slug\}\}/frontend/node_modules -rm -rf \{\{cookiecutter.project_slug\}\}/frontend/dist -git checkout \{\{cookiecutter.project_slug\}\}/README.md -git checkout \{\{cookiecutter.project_slug\}\}/.gitlab-ci.yml -git checkout \{\{cookiecutter.project_slug\}\}/cookiecutter-config-file.yml -git checkout \{\{cookiecutter.project_slug\}\}/.env -git checkout \{\{cookiecutter.project_slug\}\}/frontend/.env diff --git a/scripts/generate_cookiecutter_config.py b/scripts/generate_cookiecutter_config.py deleted file mode 100644 index 12a9a6ed4e1..00000000000 --- a/scripts/generate_cookiecutter_config.py +++ /dev/null @@ -1,20 +0,0 @@ -import json -from collections import OrderedDict -import oyaml as yaml -from pathlib import Path -cookie_path = Path('./cookiecutter.json') -out_path = Path('./{{cookiecutter.project_slug}}/cookiecutter-config-file.yml') - -with open(cookie_path) as f: - cookie_config = json.load(f) -config_out = OrderedDict() - -for key, value in cookie_config.items(): - if key.startswith('_'): - config_out[key] = value - else: - config_out[key] = '{{ cookiecutter.' + key + ' }}' -config_out['_template'] = './' - -with open(out_path, 'w') as out_f: - out_f.write(yaml.dump({'default_context': config_out}, line_break=None, width=200)) diff --git a/scripts/test.sh b/scripts/test.sh deleted file mode 100644 index 36cc535fa88..00000000000 --- a/scripts/test.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /usr/bin/env bash - -# Exit in case of error -set -e - -# Run this from the root of the project - -rm -rf ./testing-project - -cookiecutter --no-input -f ./ project_name="Testing Project" - -cd ./testing-project - -bash ./scripts/test.sh "$@" - -cd ../ diff --git a/src/.env b/src/.env index 9ffb6a70760..78bf4c65cda 100644 --- a/src/.env +++ b/src/.env @@ -1,6 +1,5 @@ # Update this with your app domain DOMAIN=localhost -# DOMAIN=local.dockertoolbox.tiangolo.com # DOMAIN=localhost.tiangolo.com STACK_NAME=full-stack-fastapi-postgresql @@ -17,7 +16,7 @@ DOCKER_IMAGE_NEW_FRONTEND=new-frontend # Backend BACKEND_CORS_ORIGINS="[\"http://localhost\", \"http://localhost:4200\", \"http://localhost:3000\", \"http://localhost:8080\", \"https://localhost\", \"https://localhost:4200\", \"https://localhost:3000\", \"https://localhost:8080\", \"http://local.dockertoolbox.tiangolo.com\", \"http://localhost.tiangolo.com\"]" -PROJECT_NAME="Full Stack FastAPI PostgreSQL" +PROJECT_NAME="FastAPI Project" SECRET_KEY=changethis FIRST_SUPERUSER=admin@example.com FIRST_SUPERUSER_PASSWORD=changethis diff --git a/src/.gitignore b/src/.gitignore deleted file mode 100755 index 1230031ec44..00000000000 --- a/src/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.vscode -.mypy_cache -docker-stack.yml