diff --git a/examples/fullstack/.devcontainer/devcontainer.json b/examples/devcontainers/.devcontainer/devcontainer.json similarity index 100% rename from examples/fullstack/.devcontainer/devcontainer.json rename to examples/devcontainers/.devcontainer/devcontainer.json diff --git a/examples/fullstack/.env.example b/examples/devcontainers/.env.example similarity index 100% rename from examples/fullstack/.env.example rename to examples/devcontainers/.env.example diff --git a/examples/fullstack/.github/dependabot.yml b/examples/devcontainers/.github/dependabot.yml similarity index 100% rename from examples/fullstack/.github/dependabot.yml rename to examples/devcontainers/.github/dependabot.yml diff --git a/examples/fullstack/.gitignore b/examples/devcontainers/.gitignore similarity index 100% rename from examples/fullstack/.gitignore rename to examples/devcontainers/.gitignore diff --git a/examples/fullstack/README.md b/examples/devcontainers/README.md similarity index 65% rename from examples/fullstack/README.md rename to examples/devcontainers/README.md index d675e52..698f749 100644 --- a/examples/fullstack/README.md +++ b/examples/devcontainers/README.md @@ -11,12 +11,16 @@ This is a practical example of a "basic" fullstack application. This applicatio ### Devcontainer You can run this project via dev containers. First you will need to ensure that you have the [VSCode dev containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) -Once that is installed you can simply open this folder in VSCode. After a few seconds it should prompt you to reopen in a dev container. If not, you can use the Command pallete and search for `Dev Containers: Open Folder in Dev Container` +Once you have the extension installed, there are a couple ways to get started. From this directory run `code .` to open a new VSCode window targeting this directory. After a few seconds you should get a notification in the bottom right asking if you want to reopen the workspace in a container. This will open a new VScode window and will start the process of building and running all of the containers. -Clone the repo and `cd` into the `compose` directory. +Another method is to open the `Command Pallete` (CMD+Shift+P) and search for `Dev Containers: Open Folder in Dev Container`. Select this folder and VScode will open a new window and kick off the process. The very first time you do this it will take several minutes to build the images and start the containers. + +Alternatively, you can also just use the compose files to start a stack and connect your VSCode instance to the backend container. + +To do that, clone the repo and `cd` into this directory. ```shell -cp backend/.env.example backend/.env +cd examples/devcontainers docker compose up ``` @@ -26,7 +30,7 @@ The first time you run `docker compose up` it may take a few minutes as Docker w ## Developing -When running the `compose` stack, the backend node_modules are isolated from your host system. This is common in dev environment setups. In this case it is advised to use a Dev container. The following video demonstrates starting a dev container by using the VSCode plugin. +When running the `compose` stack, the backend/frontend node_modules are isolated from your host system. This is common in dev environment setups. In this case it is advised to use a Dev container. The following video demonstrates starting a dev container by using the VSCode plugin. diff --git a/examples/fullstack/backend/.dockerignore b/examples/devcontainers/backend/.dockerignore similarity index 100% rename from examples/fullstack/backend/.dockerignore rename to examples/devcontainers/backend/.dockerignore diff --git a/examples/fullstack/backend/.editorconfig b/examples/devcontainers/backend/.editorconfig similarity index 100% rename from examples/fullstack/backend/.editorconfig rename to examples/devcontainers/backend/.editorconfig diff --git a/examples/fullstack/backend/.env.example b/examples/devcontainers/backend/.env.example similarity index 100% rename from examples/fullstack/backend/.env.example rename to examples/devcontainers/backend/.env.example diff --git a/examples/fullstack/backend/.gitignore b/examples/devcontainers/backend/.gitignore similarity index 100% rename from examples/fullstack/backend/.gitignore rename to examples/devcontainers/backend/.gitignore diff --git a/examples/fullstack/backend/Dockerfile b/examples/devcontainers/backend/Dockerfile similarity index 87% rename from examples/fullstack/backend/Dockerfile rename to examples/devcontainers/backend/Dockerfile index d7cae8e..5bb53cf 100644 --- a/examples/fullstack/backend/Dockerfile +++ b/examples/devcontainers/backend/Dockerfile @@ -12,11 +12,6 @@ ADD package.json package-lock.json ./ RUN npm ci FROM deps AS develop -WORKDIR /app/backend -COPY entrypoint.sh /entrypoint.sh -COPY .env.example /app/backend/.env -RUN chmod +x /entrypoint.sh -ENV NODE_ENV=development WORKDIR /app COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh diff --git a/examples/fullstack/backend/ace.js b/examples/devcontainers/backend/ace.js similarity index 100% rename from examples/fullstack/backend/ace.js rename to examples/devcontainers/backend/ace.js diff --git a/examples/fullstack/backend/adonisrc.ts b/examples/devcontainers/backend/adonisrc.ts similarity index 100% rename from examples/fullstack/backend/adonisrc.ts rename to examples/devcontainers/backend/adonisrc.ts diff --git a/examples/fullstack/backend/app/controllers/users_controller.ts b/examples/devcontainers/backend/app/controllers/users_controller.ts similarity index 100% rename from examples/fullstack/backend/app/controllers/users_controller.ts rename to examples/devcontainers/backend/app/controllers/users_controller.ts diff --git a/examples/fullstack/backend/app/exceptions/handler.ts b/examples/devcontainers/backend/app/exceptions/handler.ts similarity index 100% rename from examples/fullstack/backend/app/exceptions/handler.ts rename to examples/devcontainers/backend/app/exceptions/handler.ts diff --git a/examples/fullstack/backend/app/middleware/auth_middleware.ts b/examples/devcontainers/backend/app/middleware/auth_middleware.ts similarity index 100% rename from examples/fullstack/backend/app/middleware/auth_middleware.ts rename to examples/devcontainers/backend/app/middleware/auth_middleware.ts diff --git a/examples/fullstack/backend/app/middleware/container_bindings_middleware.ts b/examples/devcontainers/backend/app/middleware/container_bindings_middleware.ts similarity index 100% rename from examples/fullstack/backend/app/middleware/container_bindings_middleware.ts rename to examples/devcontainers/backend/app/middleware/container_bindings_middleware.ts diff --git a/examples/fullstack/backend/app/middleware/force_json_response_middleware.ts b/examples/devcontainers/backend/app/middleware/force_json_response_middleware.ts similarity index 100% rename from examples/fullstack/backend/app/middleware/force_json_response_middleware.ts rename to examples/devcontainers/backend/app/middleware/force_json_response_middleware.ts diff --git a/examples/fullstack/backend/app/middleware/guest_middleware.ts b/examples/devcontainers/backend/app/middleware/guest_middleware.ts similarity index 100% rename from examples/fullstack/backend/app/middleware/guest_middleware.ts rename to examples/devcontainers/backend/app/middleware/guest_middleware.ts diff --git a/examples/fullstack/backend/app/middleware/silent_auth_middleware.ts b/examples/devcontainers/backend/app/middleware/silent_auth_middleware.ts similarity index 100% rename from examples/fullstack/backend/app/middleware/silent_auth_middleware.ts rename to examples/devcontainers/backend/app/middleware/silent_auth_middleware.ts diff --git a/examples/fullstack/backend/app/models/user.ts b/examples/devcontainers/backend/app/models/user.ts similarity index 100% rename from examples/fullstack/backend/app/models/user.ts rename to examples/devcontainers/backend/app/models/user.ts diff --git a/examples/fullstack/backend/bin/console.ts b/examples/devcontainers/backend/bin/console.ts similarity index 100% rename from examples/fullstack/backend/bin/console.ts rename to examples/devcontainers/backend/bin/console.ts diff --git a/examples/fullstack/backend/bin/server.ts b/examples/devcontainers/backend/bin/server.ts similarity index 100% rename from examples/fullstack/backend/bin/server.ts rename to examples/devcontainers/backend/bin/server.ts diff --git a/examples/fullstack/backend/bin/test.ts b/examples/devcontainers/backend/bin/test.ts similarity index 100% rename from examples/fullstack/backend/bin/test.ts rename to examples/devcontainers/backend/bin/test.ts diff --git a/examples/fullstack/backend/config/app.ts b/examples/devcontainers/backend/config/app.ts similarity index 100% rename from examples/fullstack/backend/config/app.ts rename to examples/devcontainers/backend/config/app.ts diff --git a/examples/fullstack/backend/config/auth.ts b/examples/devcontainers/backend/config/auth.ts similarity index 100% rename from examples/fullstack/backend/config/auth.ts rename to examples/devcontainers/backend/config/auth.ts diff --git a/examples/fullstack/backend/config/bodyparser.ts b/examples/devcontainers/backend/config/bodyparser.ts similarity index 100% rename from examples/fullstack/backend/config/bodyparser.ts rename to examples/devcontainers/backend/config/bodyparser.ts diff --git a/examples/fullstack/backend/config/cors.ts b/examples/devcontainers/backend/config/cors.ts similarity index 100% rename from examples/fullstack/backend/config/cors.ts rename to examples/devcontainers/backend/config/cors.ts diff --git a/examples/fullstack/backend/config/database.ts b/examples/devcontainers/backend/config/database.ts similarity index 100% rename from examples/fullstack/backend/config/database.ts rename to examples/devcontainers/backend/config/database.ts diff --git a/examples/fullstack/backend/config/hash.ts b/examples/devcontainers/backend/config/hash.ts similarity index 100% rename from examples/fullstack/backend/config/hash.ts rename to examples/devcontainers/backend/config/hash.ts diff --git a/examples/fullstack/backend/config/logger.ts b/examples/devcontainers/backend/config/logger.ts similarity index 100% rename from examples/fullstack/backend/config/logger.ts rename to examples/devcontainers/backend/config/logger.ts diff --git a/examples/fullstack/backend/config/session.ts b/examples/devcontainers/backend/config/session.ts similarity index 100% rename from examples/fullstack/backend/config/session.ts rename to examples/devcontainers/backend/config/session.ts diff --git a/examples/fullstack/backend/database/migrations/1749670063587_create_users_table.ts b/examples/devcontainers/backend/database/migrations/1749670063587_create_users_table.ts similarity index 100% rename from examples/fullstack/backend/database/migrations/1749670063587_create_users_table.ts rename to examples/devcontainers/backend/database/migrations/1749670063587_create_users_table.ts diff --git a/examples/fullstack/backend/database/seeders/user_seeder.ts b/examples/devcontainers/backend/database/seeders/user_seeder.ts similarity index 100% rename from examples/fullstack/backend/database/seeders/user_seeder.ts rename to examples/devcontainers/backend/database/seeders/user_seeder.ts diff --git a/examples/fullstack/backend/entrypoint.sh b/examples/devcontainers/backend/entrypoint.sh similarity index 100% rename from examples/fullstack/backend/entrypoint.sh rename to examples/devcontainers/backend/entrypoint.sh diff --git a/examples/fullstack/backend/eslint.config.js b/examples/devcontainers/backend/eslint.config.js similarity index 100% rename from examples/fullstack/backend/eslint.config.js rename to examples/devcontainers/backend/eslint.config.js diff --git a/examples/fullstack/backend/package-lock.json b/examples/devcontainers/backend/package-lock.json similarity index 100% rename from examples/fullstack/backend/package-lock.json rename to examples/devcontainers/backend/package-lock.json diff --git a/examples/fullstack/backend/package.json b/examples/devcontainers/backend/package.json similarity index 100% rename from examples/fullstack/backend/package.json rename to examples/devcontainers/backend/package.json diff --git a/examples/fullstack/backend/start/env.ts b/examples/devcontainers/backend/start/env.ts similarity index 100% rename from examples/fullstack/backend/start/env.ts rename to examples/devcontainers/backend/start/env.ts diff --git a/examples/fullstack/backend/start/kernel.ts b/examples/devcontainers/backend/start/kernel.ts similarity index 100% rename from examples/fullstack/backend/start/kernel.ts rename to examples/devcontainers/backend/start/kernel.ts diff --git a/examples/fullstack/backend/start/routes.ts b/examples/devcontainers/backend/start/routes.ts similarity index 100% rename from examples/fullstack/backend/start/routes.ts rename to examples/devcontainers/backend/start/routes.ts diff --git a/examples/fullstack/backend/tests/bootstrap.ts b/examples/devcontainers/backend/tests/bootstrap.ts similarity index 100% rename from examples/fullstack/backend/tests/bootstrap.ts rename to examples/devcontainers/backend/tests/bootstrap.ts diff --git a/examples/fullstack/backend/tsconfig.json b/examples/devcontainers/backend/tsconfig.json similarity index 100% rename from examples/fullstack/backend/tsconfig.json rename to examples/devcontainers/backend/tsconfig.json diff --git a/examples/fullstack/compose.override.yml b/examples/devcontainers/compose.override.yml similarity index 100% rename from examples/fullstack/compose.override.yml rename to examples/devcontainers/compose.override.yml diff --git a/examples/fullstack/compose.yml b/examples/devcontainers/compose.yml similarity index 100% rename from examples/fullstack/compose.yml rename to examples/devcontainers/compose.yml diff --git a/examples/fullstack/frontend/.dockerignore b/examples/devcontainers/frontend/.dockerignore similarity index 100% rename from examples/fullstack/frontend/.dockerignore rename to examples/devcontainers/frontend/.dockerignore diff --git a/examples/fullstack/frontend/Dockerfile b/examples/devcontainers/frontend/Dockerfile similarity index 100% rename from examples/fullstack/frontend/Dockerfile rename to examples/devcontainers/frontend/Dockerfile diff --git a/examples/fullstack/frontend/README.md b/examples/devcontainers/frontend/README.md similarity index 100% rename from examples/fullstack/frontend/README.md rename to examples/devcontainers/frontend/README.md diff --git a/examples/fullstack/frontend/eslint.config.js b/examples/devcontainers/frontend/eslint.config.js similarity index 100% rename from examples/fullstack/frontend/eslint.config.js rename to examples/devcontainers/frontend/eslint.config.js diff --git a/examples/fullstack/frontend/index.html b/examples/devcontainers/frontend/index.html similarity index 100% rename from examples/fullstack/frontend/index.html rename to examples/devcontainers/frontend/index.html diff --git a/examples/fullstack/frontend/package.json b/examples/devcontainers/frontend/package.json similarity index 100% rename from examples/fullstack/frontend/package.json rename to examples/devcontainers/frontend/package.json diff --git a/examples/fullstack/frontend/public/vite.svg b/examples/devcontainers/frontend/public/vite.svg similarity index 100% rename from examples/fullstack/frontend/public/vite.svg rename to examples/devcontainers/frontend/public/vite.svg diff --git a/examples/fullstack/frontend/src/App.css b/examples/devcontainers/frontend/src/App.css similarity index 100% rename from examples/fullstack/frontend/src/App.css rename to examples/devcontainers/frontend/src/App.css diff --git a/examples/fullstack/frontend/src/App.tsx b/examples/devcontainers/frontend/src/App.tsx similarity index 100% rename from examples/fullstack/frontend/src/App.tsx rename to examples/devcontainers/frontend/src/App.tsx diff --git a/examples/fullstack/frontend/src/assets/docker.svg b/examples/devcontainers/frontend/src/assets/docker.svg similarity index 100% rename from examples/fullstack/frontend/src/assets/docker.svg rename to examples/devcontainers/frontend/src/assets/docker.svg diff --git a/examples/fullstack/frontend/src/assets/react.svg b/examples/devcontainers/frontend/src/assets/react.svg similarity index 100% rename from examples/fullstack/frontend/src/assets/react.svg rename to examples/devcontainers/frontend/src/assets/react.svg diff --git a/examples/fullstack/frontend/src/index.css b/examples/devcontainers/frontend/src/index.css similarity index 100% rename from examples/fullstack/frontend/src/index.css rename to examples/devcontainers/frontend/src/index.css diff --git a/examples/fullstack/frontend/src/main.tsx b/examples/devcontainers/frontend/src/main.tsx similarity index 100% rename from examples/fullstack/frontend/src/main.tsx rename to examples/devcontainers/frontend/src/main.tsx diff --git a/examples/fullstack/frontend/src/vite-env.d.ts b/examples/devcontainers/frontend/src/vite-env.d.ts similarity index 100% rename from examples/fullstack/frontend/src/vite-env.d.ts rename to examples/devcontainers/frontend/src/vite-env.d.ts diff --git a/examples/fullstack/frontend/tsconfig.app.json b/examples/devcontainers/frontend/tsconfig.app.json similarity index 100% rename from examples/fullstack/frontend/tsconfig.app.json rename to examples/devcontainers/frontend/tsconfig.app.json diff --git a/examples/fullstack/frontend/tsconfig.json b/examples/devcontainers/frontend/tsconfig.json similarity index 100% rename from examples/fullstack/frontend/tsconfig.json rename to examples/devcontainers/frontend/tsconfig.json diff --git a/examples/fullstack/frontend/tsconfig.node.json b/examples/devcontainers/frontend/tsconfig.node.json similarity index 100% rename from examples/fullstack/frontend/tsconfig.node.json rename to examples/devcontainers/frontend/tsconfig.node.json diff --git a/examples/fullstack/frontend/vite.config.ts b/examples/devcontainers/frontend/vite.config.ts similarity index 100% rename from examples/fullstack/frontend/vite.config.ts rename to examples/devcontainers/frontend/vite.config.ts diff --git a/examples/fullstack/frontend/yarn.lock b/examples/devcontainers/frontend/yarn.lock similarity index 100% rename from examples/fullstack/frontend/yarn.lock rename to examples/devcontainers/frontend/yarn.lock diff --git a/examples/fullstack/homepage.png b/examples/devcontainers/homepage.png similarity index 100% rename from examples/fullstack/homepage.png rename to examples/devcontainers/homepage.png