From 26b03c553bd9dc686f6238cfda924b44f1395000 Mon Sep 17 00:00:00 2001 From: Yan Kasabutski Date: Thu, 17 Apr 2025 01:55:22 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?z2/backend=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- z2/backend/Dockerfile | 18 ++++++++++++++++++ z2/backend/app.py | 32 ++++++++++++++++++++++++++++++++ z2/backend/requirements.txt | 2 ++ z2/backend/tasks.json | 1 + 4 files changed, 53 insertions(+) create mode 100644 z2/backend/Dockerfile create mode 100644 z2/backend/app.py create mode 100644 z2/backend/requirements.txt create mode 100644 z2/backend/tasks.json diff --git a/z2/backend/Dockerfile b/z2/backend/Dockerfile new file mode 100644 index 0000000..24f0109 --- /dev/null +++ b/z2/backend/Dockerfile @@ -0,0 +1,18 @@ +# Используем легкий образ Python +FROM python:3.10-slim + +# Устанавливаем рабочую директорию +WORKDIR /app + +# Копируем зависимости и устанавливаем их +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Копируем код приложения +COPY . . + +# Открываем порт (по умолчанию Flask — 5000) +EXPOSE 5000 + +# Команда запуска +CMD ["python", "app.py"] diff --git a/z2/backend/app.py b/z2/backend/app.py new file mode 100644 index 0000000..e8dd825 --- /dev/null +++ b/z2/backend/app.py @@ -0,0 +1,32 @@ +from flask import Flask, request, jsonify +import json +import os + +app = Flask(__name__) +DATA_FILE = "/data/tasks.json" + +def read_tasks(): + if os.path.exists(DATA_FILE): + with open(DATA_FILE, "r") as f: + return json.load(f) + return [] + +def write_tasks(tasks): + with open(DATA_FILE, "w") as f: + json.dump(tasks, f) + +@app.route("/tasks", methods=["GET"]) +def get_tasks(): + return jsonify(read_tasks()) + +@app.route("/tasks", methods=["POST"]) +def add_task(): + tasks = read_tasks() + new_task = request.json + tasks.append(new_task) + write_tasks(tasks) + return jsonify(new_task), 201 + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=5000) + diff --git a/z2/backend/requirements.txt b/z2/backend/requirements.txt new file mode 100644 index 0000000..7ff8906 --- /dev/null +++ b/z2/backend/requirements.txt @@ -0,0 +1,2 @@ +Flask + diff --git a/z2/backend/tasks.json b/z2/backend/tasks.json new file mode 100644 index 0000000..60b0742 --- /dev/null +++ b/z2/backend/tasks.json @@ -0,0 +1 @@ +[]