Skip to content

Instantly share code, notes, and snippets.

View sunmeat's full-sized avatar
🐈
MEOW

Oleksandr Zahoruiko sunmeat

🐈
MEOW
View GitHub Profile
@ysantonyance
ysantonyance / Store.sql
Last active December 25, 2025 17:49
Creating 18 queries
USE [master]
GO
/****** Object: Database [Store] Script Date: 25/12/2025 7:48:31 PM ******/
CREATE DATABASE [Store]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Store', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store.mdf' , SIZE = 73728KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Store_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@Arsenii123
Arsenii123 / `1.sql
Created December 21, 2025 20:20
Запити
--1
SELECT *,(price-price*discount/100)*quantity AS [Overall]
FROM Product
WHERE category LIKE N'продукти'
--2
SELECT *
FROM Product
WHERE DATEDIFF(DAY,GETDATE(),date_of_delivery)>=10
--3
SELECT *
@sunmeat
sunmeat / task.md
Created December 19, 2025 16:31
ДЗ. трирівнева архітектура. рівень PL

Завдання: ASP.NET Core MVC. Багаторівнева архітектура. Рівень представлення. Веб-додаток «Музичний портал»

Модифікувати раніше розроблений веб-додаток «Музичний портал» з монолітною архітектурою таким чином, щоб у результаті вийшла трирівнева архітектура.

У цьому завданні необхідно реалізувати Presentation Layer (рівень представлення), з яким безпосередньо взаємодіє користувач.

Зокрема, потрібно:

  • Розробити класи-контролери (Controllers).
  • Розробити подання (Views) — Razor-шаблони (.cshtml).
@sunmeat
sunmeat / task.md
Created December 19, 2025 16:27
ДЗ. трирівнева архітектура. рівень BLL

Завдання: ASP.NET Core MVC. Багаторівнева архітектура. Рівень бізнес-логіки. Веб-додаток «Музичний портал»

Модифікувати раніше розроблений веб-додаток «Музичний портал» з монолітною архітектурою таким чином, щоб у результаті вийшла трирівнева архітектура.

У цьому завданні необхідно реалізувати Business Logic Layer (рівень бізнес-логіки).

Зокрема, потрібно:

  • Розробити класи-сервіси (service classes).
  • Розробити трансферні моделі (DTO — Data Transfer Objects).
@sunmeat
sunmeat / scheme.txt
Created December 19, 2025 08:00
3-рівнева архітектура
──────────────────────────────────────────────────────────────────────────────────────
Presentation Layer (Рівень подання — те, що бачить і з чим взаємодіє користувач)
├── Контролери (Controllers)
├── Подання (Views / .cshtml файли)
├── ViewModels (моделі, які використовуються тільки у поданнях і контролерах)
├── DTO, які приходять від користувача (наприклад, з форм або JSON-запитів)
├── wwwroot (CSS, JavaScript, зображення)
├── Tag Helpers
├── Клієнтська валідація (JavaScript)
├── HttpContext (доступ до User, Session, Request, Response)
@sunmeat
sunmeat / scheme.txt
Created December 18, 2025 14:07
clean architecture
──────────────────────────────────────────────────────────────────────────────────────
Presentation Layer (PL / UI / Web)
├── Контролери (Controllers) / Razor Pages / Minimal API
├── Подання (Views / .cshtml)
├── ViewModels (моделі для представлення)
├── DTO (які приходять від користувача, наприклад, з форм)
├── Tag Helpers, View Components (перевикористовувані динамічні віджети)
├── wwwroot (CSS, JS, images)
├── Client-side validation (JS-валідація)
├── HttpContext (контекст запиту)
@IcedW
IcedW / hw1.sql
Created December 18, 2025 02:38
USE [master]
GO
/****** Object: Database [productDatabase] Script Date: 12/18/2025 4:37:13 AM ******/
CREATE DATABASE [productDatabase]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'productDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\productDB.mdf' , SIZE = 15360KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'productDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\productDBlog.ldf' , SIZE = 5120KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@ysantonyance
ysantonyance / Store.sql
Created December 17, 2025 20:33
Table Products +20 more records
USE [master]
GO
/****** Object: Database [Store] Script Date: 17/12/2025 10:32:02 PM ******/
CREATE DATABASE [Store]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Store', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store.mdf' , SIZE = 73728KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Store_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@sunmeat
sunmeat / task.md
Created December 17, 2025 13:17
ДЗ: багаторівнева архітектура, шар доступу до даних

Багаторівнева архітектура в ASP.NET Core MVC

Рівень доступу до даних (Data Access Layer)

Веб-додаток «Музичний портал»

Завдання

Модифікувати раніше розроблений веб-додаток «Музичний портал» з монолітною архітектурою таким чином, щоб отримати трирівневу (three-layer) архітектуру:

  1. Presentation Layer — контролери та представлення (Views).
  2. Business Logic Layer — сервіси (буде в наступних завданнях).
@sunmeat
sunmeat / task.md
Created December 17, 2025 13:15
ДЗ: музичний портал 2

Валідація моделі. Сервіси. Впровадження залежностей в ASP.NET Core MVC

Веб-сайт «Музичний портал»

Завдання

Модифікувати архітектуру веб-додатка «Музичний портал» таким чином, щоб контролер взаємодіяв з базою даних через сервіс Repository, а не безпосередньо через контекст даних (DbContext).

При цьому взаємодія контролера з сервісом Repository має відбуватися через абстракцію IRepository, щоб забезпечити слабку зв’язаність (low coupling) між класами.

Вимоги до валідації