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 @@ +[]