commit 2a942e783145c3219d0ee4982014b14a466f98ca Author: Valentin Popov Date: Thu Sep 10 19:05:54 2026 +0400 chore: bootstrap Docker development environment diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..da0bc13 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,13 @@ +{ + "name": "vacationplanner2ics", + "dockerComposeFile": "../compose.yaml", + "service": "dev", + "workspaceFolder": "/workspace", + "shutdownAction": "stopCompose", + "customizations": { + "vscode": { + "extensions": ["rust-lang.rust-analyzer", "tamasfe.even-better-toml"] + } + }, + "forwardPorts": [8080] +} diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3fd606a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +.DS_Store +.env +.env.* +target +*.ics +*.pem +*.key +__pycache__ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a279e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/target/ +/.env +/.env.* +!/.env.example +*.ics +*.pem +*.key +.DS_Store +__pycache__/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..50da1ef --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Valentin Popov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..bd744ba --- /dev/null +++ b/compose.yaml @@ -0,0 +1,16 @@ +services: + dev: + image: rust:1.98.1-bookworm + working_dir: /workspace + command: sleep infinity + init: true + volumes: + - .:/workspace + - cargo-registry:/usr/local/cargo/registry + - cargo-target:/workspace/target + ports: + - "127.0.0.1:8080:8080" + +volumes: + cargo-registry: + cargo-target: diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..e630049 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,4 @@ +[toolchain] +channel = "1.98.1" +profile = "minimal" +components = ["clippy", "rustfmt"]