Skip to content

Instantly share code, notes, and snippets.

View sunmeat's full-sized avatar
🐈
MEOW

Oleksandr Zahoruiko sunmeat

🐈
MEOW
View GitHub Profile
@sunmeat
sunmeat / task.md
Created February 20, 2026 14:03
ДЗ на MVT в пайтон

У цьому домашньому завданні потрібно реалізувати один з наведених нижче додатків, використовуючи архітектурний патерн MVT (Model-View-Template). Оскільки ми поки що не використовували фреймворк Django, реалізуйте додаток у консольному варіанті (використовуючи стандартний ввід/вивід Python або бібліотеку Textual), або десктопній версії (наприклад, з використанням бібліотеки Tkinter/PySide6 для графічного інтерфейсу), або веб-фреймворк Flask.

Ключові Вимоги до MVT-Патерну:

  • Model: Класи або структури для зберігання та маніпуляції даними (наприклад, списки, словники, класи Python для бази даних у пам'яті або файлах).

  • View: Логіка для відображення даних користувачу (консольний вивід, таблиці в терміналі або вікна/форми/сторінки).

  • Template: Шаблони для форматування виводу (наприклад, рядки з форматуванням для консолі або шаблони для GUI).

  • Додаткові Вимоги:

    • Використовуйте Python 3.14.
  • Зберігайте дані в пам'яті, файлах (наприклад, JSON/CSV) або простій базі даних (як

@sunmeat
sunmeat / app.py
Created February 20, 2026 13:20
MVT (flask)
from flask import Flask, request, redirect, url_for, render_template_string
app = Flask(__name__)
# ────────────────────────────────────────────────
# model — дані та бізнес-логіка
# ────────────────────────────────────────────────
class ShoppingModel:
@sunmeat
sunmeat / app.py
Created February 20, 2026 13:14
MVT (pyside6)
import sys
import ctypes
if sys.platform == "win32":
console = ctypes.windll.kernel32.GetConsoleWindow()
if console:
ctypes.windll.user32.ShowWindow(console, 0)
from PySide6.QtWidgets import (
QApplication, QMainWindow, QWidget,
@sunmeat
sunmeat / app.py
Created February 20, 2026 13:05
MVT (textual)
from textual.app import App, ComposeResult, on
from textual.widgets import Header, Footer, Button, Input, Static, Label, Rule
from textual.containers import Vertical, Horizontal, ScrollableContainer
from textual.screen import Screen
# ────────────────────────────────────────────────
# Model
# ────────────────────────────────────────────────
class ShoppingModel:
@sunmeat
sunmeat / app.py
Created February 20, 2026 12:40
консольний приклад на MVT в пайтон
# Model: зберігає та маніпулює даними
class ShoppingModel:
def __init__(self):
self.items = [] # список покупок: [{'name': 'Яблука', 'quantity': 5, 'price': 77}]
def add_item(self, name, quantity, price):
self.items.append({'name': name, 'quantity': quantity, 'price': price})
def get_all_items(self):
return self.items
#include <iostream>
#include <cstring>
#include <unistd.h>
#include <arpa/inet.h>
using namespace std;
#define PORT 27015
#define BUFLEN 512
#include <iostream>
#include <string>
#include <cstring>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <signal.h>
@sunmeat
sunmeat / view.py
Created February 19, 2026 13:51
альтернативне вью 1
# view.py
# py -m pip install rich (команда для терміналу PowerShell, якщо не встановлено)
from rich.console import Console
from rich.table import Table
from rich.prompt import Prompt, IntPrompt
console = Console(highlight=False) # глобальний об'єкт для зручності

Технічне завдання

Веб-магазин спортивного одягу


1. Загальні положення

  • Назва проекту: Веб-магазин спортивного одягу «Спортполітен».
  • Замовник: Загоруйко Олександр Дмитрович.
  • Мета проекту: Створення онлайн платформи для продажу спортивних товарів з можливістю здійснення замовлень і оплати через інтернет.
  • Терміни реалізації: 25.03.2026.
#define WIN32_LEAN_AND_MEAN
#include <iostream>
#include <string>
#include <windows.h>
#include <ws2tcpip.h>
#pragma comment(lib, "Ws2_32.lib")
#define DEFAULT_BUFLEN 512
#define DEFAULT_PORT "27015"
using namespace std;