Flask API за 30 хвилин — міні-проєкт для портфоліо

Vladimir MzokovVladimir Mzokov
2 min read

🔹 Структура статті

  1. Вступ

    • Чому Flask підходить для швидкого старту.

    • Яку задачу будемо вирішувати (простий API для нотаток / ToDo).

  2. Налаштування середовища

    • Встановлення Python і Flask.

    • Створення віртуального середовища.

  3. Створення базового застосунку

  4. Реалізація API

    • GET (отримати всі нотатки).

    • POST (додати нову).

    • DELETE (видалити).

  5. Тестування API

    • Запуск сервера.

    • Використання curl або Postman.

  6. Висновок

    • Це мінімальний проєкт, який вже можна додати в GitHub як частину портфоліо.

    • Ідеї для розширення: база даних SQLite, авторизація, фронтенд.

      Хочеш швидко створити власний API, який можна показати в портфоліо?
      Flask — чудовий фреймворк на Python для цього. У цій статті ми зробимо простий ToDo API (для нотаток) менш ніж за півгодини.

      🔹 Крок 1. Підготовка середовища

      Переконайся, що у тебе встановлений Python (3.9+).
      Створи нову папку і віртуальне середовище:


mkdir flask_todo_api
cd flask_todo_api
python -m venv venv
source venv/bin/activate   # Linux/Mac
venv\Scripts\activate      # Windows

Встанови Flask:

pip install flask

🔹 Крок 2. Базовий застосунок

Створимо файл app.py з найпростішим кодом:

from flask import Flask, jsonify, request

app = Flask(__name__)

# Тимчасове сховище нотаток
todos = []

@app.route("/")
def home():
    return "ToDo API працює!"

if __name__ == "__main__":
    app.run(debug=True)

Запусти сервер:

python app.py

Тепер відкрий у браузері http://127.0.0.1:5000/ і побачиш "ToDo API працює!".


🔹 Крок 3. Реалізуємо API

Додамо маршрути для CRUD-операцій:

# Отримати всі нотатки
@app.route("/todos", methods=["GET"])
def get_todos():
    return jsonify(todos)

# Додати нову нотатку
@app.route("/todos", methods=["POST"])
def add_todo():
    data = request.get_json()
    todo = {"id": len(todos) + 1, "task": data["task"]}
    todos.append(todo)
    return jsonify(todo), 201

# Видалити нотатку за ID
@app.route("/todos/<int:todo_id>", methods=["DELETE"])
def delete_todo(todo_id):
    global todos
    todos = [t for t in todos if t["id"] != todo_id]
    return jsonify({"message": "Нотатку видалено"}), 200

🔹 Крок 4. Тестування

  1. Запусти сервер:

     python app.py
    
  2. Відкрий Postman або використай curl:

    • Отримати список нотаток:

        curl http://127.0.0.1:5000/todos
      
    • Додати нову нотатку:

        curl -X POST http://127.0.0.1:5000/todos -H "Content-Type: application/json" -d "{\"task\":\"Вивчити Flask\"}"
      
    • Видалити нотатку:

        curl -X DELETE http://127.0.0.1:5000/todos/1
      

🔹 Висновок

Ми створили свій перший Flask API:

  • GET — отримати нотатки

  • POST — додати нотатку

  • DELETE — видалити

Цей проєкт можна залити на GitHub і вже додати в портфоліо.

👉 Ідеї для розширення:

  • Зберігати дані в SQLite/PostgreSQL

  • Додати авторизацію (JWT)

  • Зробити фронтенд (React / Vue)


💡 Це лише перший крок. Але саме з таких маленьких проєктів і починається шлях до професійного портфоліо!

0
Subscribe to my newsletter

Read articles from Vladimir Mzokov directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Vladimir Mzokov
Vladimir Mzokov