Skip to content

brstu/WT-AC-2025-CourseWorks

Repository files navigation

Курсовые работы — Веб-Технологии (4 курс)

Этот раздел содержит материалы для выполнения и проверки курсовых работ по дисциплине «Веб-Технологии». Все задания опираются на темы лабораторных работ (вёрстка, DOM/JS, HTTP и кэширование, REST, Node/Express, БД и авторизация, React, качество/деплой/Docker/CI/CD).

Обязательный минимум (MVP)

  • Репозиторий Git (публичный или приватный с доступом преподавателю).
  • Full‑stack: клиент (SPA/SSR) + сервер (REST API) + БД.
  • Аутентификация (вход/регистрация на JWT) и базовая авторизация (минимум: user, admin).
  • Валидация данных на клиенте и сервере; обработка ошибок с человекочитаемыми сообщениями.
  • Нефункциональные минимум: a11y (базово), CORS и helmet, логирование, пагинация/фильтры по необходимости.
  • Контейнеризация (желательно, но не обязательно): Docker для server и БД; Docker Compose — для локальной разработки.

Примечание: Kubernetes, тесты и API‑документация не требуются для базовой оценки — они учитываются как бонусы.

Задание #1 (R1): Документация проекта

Каждый студент должен подготовить R1-документацию по своему варианту.

R1 включает: маршруты, роли/действия, матрицу прав, модели данных и API, ERD, WBS и карточки задач с критериями приёмки.

Опционально за доп. баллы (бонусы, суммарно до +50)

  • Документация API: OpenAPI/Swagger или коллекция запросов (HTTP/REST Client, Postman): +8
  • Тестирование: unit/integration (сервер) и/или e2e (Playwright): +15
  • Деплой в Kubernetes (k8s/ манифесты: Deployments, Services, Ingress, ConfigMap/Secret, PVC; пробы/ресурсы; HPA — по желанию): +15
  • CI (GitHub Actions/GitLab CI): линтинг + тесты + сборка образов: +7
  • Наблюдаемость/оптимизация: структурированные логи, базовые метрики/аннотации Prometheus, кэш Redis, WebSocket/Web Push/PWA‑офлайн (по задаче): до +5

Рекомендованный стек (можно согласовывать альтернативы)

  • Frontend: TypeScript + React (Vite/Next.js) или Vue/Svelte.
  • Backend: Node.js + Express/NestJS/Fastify; ORM/ODM: Prisma/TypeORM/Mongoose.
  • БД: PostgreSQL (рекомендуется) или MongoDB; кэш: Redis (по необходимости).
  • Инструменты: ESLint/Prettier, Jest/Vitest/Playwright, Swagger/OpenAPI, Docker, Kubernetes (kubectl, Kustomize/Helm — опционально).

Критерии оценивания

База (до 50) + бонусы (до +50) = максимум 100 баллов.

  • База (50):
    • Архитектура и полнота требований: 15
    • Качество кода и типизация: 10
    • Клиент (UI/UX, маршрутизация, состояние): 12
    • Сервер (REST, безопасность, валидация): 10
    • Данные и миграции/сидинг: 3
  • Бонусы (до +50): см. раздел «Опционально за доп. баллы».

Порядок работы

  1. Выберите тему.
  2. Соберите MVP (обязательный минимум).
  3. (Опционально) Добавьте бонусы: документация API, тесты, Kubernetes, CI и др.
  4. Подготовьте защиту: сценарий демо + данные.

Структура размещения студенческих проектов

Каждый студент создаёт свой рабочий каркас внутри каталога students/<student_id>/. Пример: students/TestovTestTestovich:


  test_id/
    apps/
      server/
        src/
          index.ts
          routes/
          modules/
          middleware/
          lib/
        prisma/
        migrations/
        openapi.yaml
        package.json
        Dockerfile
      web/
        src/
          main.tsx
          App.tsx
          pages/
          components/
          features/
          entities/
          shared/
        index.html
        package.json
        Dockerfile
    packages/
      ui/
      utils/
    docs/
      architecture.md
      api.md
    infra/
      scripts/
      db/
    k8s/
      base/
      overlays/
        dev/
        prod/
    .env.example
    docker-compose.yml
    pnpm-workspace.yaml
    package.json

Короткие примечания:

  • apps/: разделяем web и server; удобно для CI, версионирования и Docker.
  • packages/: общий код (компоненты/UI, утилиты, схемы валидаторов) — по необходимости.
  • k8s/: храните манифесты только если берёте бонус за Kubernetes.
  • docs/api.md и openapi.yaml — если берёте бонус за документацию API.
  • .github/workflows — если берёте бонус за CI.
  • .env.example: образец переменных; секреты — только через Kubernetes Secrets.

Шаги для нового студента

Успеваемость

Вариант Group sub Name NameLatin Directory Github Username #0 #1 #2 #3 #4 Rating
20 АС-63 1 2 Ващук Анатолий VashchukAnatoliy dir skevet-avramuk
23 АС-63 2 1 Выржемковский Даниил VyrzhemkovskiyDaniil dir r0mb123
24 АС-63 3 1 Грицук Дмитрий GritsukDmitriy dir llayyz
32 АС-63 4 1 Грицук Павел GritsukPavel dir momo-kitsune
27 АС-63 5 1 Казаренко Павел KazarenkoPavel dir Catsker
19 АС-63 6 1 Карпеш Никита KarpeshNikita dir Frosyka
11 АС-63 7 1 Козлович Антон KozlovichAnton dir Anton777kozlovich
15 АС-63 8 1 Козловская Анна KozlovskayaAnna dir annkrq
21 АС-63 9 1 Колодич Максим KolodichMaksim dir proxladno
29 АС-63 10 1 Крагель Алина KragelAlina dir Alina529
44 АС-63 11 2 Куликович Иван KulikovichIvan dir teenage717
34 АС-63 12 2 Кульбеда Кирилл KulbedaKirill dir fr0ogi
13 АС-63 13 2 Кухарчук Илья KukharchukIlya dir IlyaKukharchuk
40 АС-63 14 1 Логинов Глеб LoginovGleb dir gleb7499
18 АС-63 15 2 Мороз Евгений MorozEvgeniy dir EugeneFr0st
3 АС-63 16 2 Никифоров Александр NikiforovAleksandr dir woQhy
АС-63 17 2 Поплавский Владислав PoplavskiyVladislav dir ImRaDeR1
26 АС-63 18 2 Савко Павел SavkoPavel dir 1nsirius
25 АС-63 19 1 Соколова Маргарита SokolovaMargarita dir Ritkas33395553
38 АС-63 20 2 Стельмашук Иван StelmashukIvan dir KulibinI
39 АС-63 21 2 Тунчик Антон TunchikAnton dir Stis25
16 АС-63 22 2 Филипчук Дмитрий FilipchukDmitriy dir kuddel11
9 АС-63 23 2 Ярмола Александр YarmolaAleksandr dir alexsandro007
8 АС-63 24 2 Ярмолович Александр YarmolovichAleksandr dir yarmolov
37 АС-64 1 1 Белаш Александр BelashAleksandr dir went2smoke
7 АС-64 2 1 Брызгалов Юрий BryzgalovYuriy dir Gena-Cidarmyan
12 АС-64 3 1 Будник Анна BudnikAnna dir annettebb
33 АС-64 4 1 Булавский Андрей BulavskiyAndrey dir andrei1910bl
43 АС-64 5 2 Бурак Илья BurakIlya dir burakillya
17 АС-64 6 1 Горкавчук Никита GorkavchukNikita dir Exage
4 АС-64 7 1 Евкович Андрей EvkovichAndrey dir Andrei21005
14 АС-64 8 1 Иванюк Иван IvanyukIvan dir JonF1re
36 АС-64 9 1 Игнаткевич Кирилл IgnatkevichKirill dir pyrokekw
22 АС-64 10 1 Кашпир Дмитрий KashpirDmitriy dir Dima-kashpir
30 АС-64 11 1 Котковец Кирилл KotkovetsKirill dir Kirill-Kotkovets
6 АС-64 12 2 Кужир Владислав KuzhirVladislav dir XD-cods
35 АС-64 13 2 Немирович Дмитрий NemirovichDmitriy dir goryachiy-ugolek
2 АС-64 14 2 Попов Алексей PopovAleksey dir LexusxdsD
31 АС-64 15 2 Рабченя Максим RabchenyaMaksim dir benwer9q
28 АС-64 16 1 Ровнейко Захар RovneykoZakhar dir Zaharihnio
41 АС-64 17 2 Смердина Анастасия SmerdinaAnastasiya dir KotyaLapka
1 АС-64 18 2 Хомич Виталий KhomichVitaliy dir VitlyaNB
43 Test 0 0 Тестов Тест Тестович TestovTestTestovich dir
23 АС-63 2 1 Выржемковский Даниил VyrzhemkovskiyDaniil dir r0mb123
24 АС-63 3 1 Грицук Дмитрий GritsukDmitriy dir llayyz
32 АС-63 4 1 Грицук Павел GritsukPavel dir momo-kitsune
27 АС-63 5 1 Казаренко Павел KazarenkoPavel dir Catsker
19 АС-63 6 1 Карпеш Никита KarpeshNikita dir Frosyka
11 АС-63 7 1 Козлович Антон KozlovichAnton dir Anton777kozlovich
15 АС-63 8 1 Козловская Анна KozlovskayaAnna dir annkrq
21 АС-63 9 1 Колодич Максим KolodichMaksim dir proxladno
29 АС-63 10 1 Крагель Алина KragelAlina dir Alina529
44 АС-63 11 2 Куликович Иван KulikovichIvan dir teenage717
34 АС-63 12 2 Кульбеда Кирилл KulbedaKirill dir fr0ogi
13 АС-63 13 2 Кухарчук Илья KukharchukIlya dir IlyaKukharchuk
40 АС-63 14 1 Логинов Глеб LoginovGleb dir gleb7499
18 АС-63 15 2 Мороз Евгений MorozEvgeniy dir EugeneFr0st
3 АС-63 16 2 Никифоров Александр NikiforovAleksandr dir woQhy
АС-63 17 2 Поплавский Владислав PoplavskiyVladislav dir ImRaDeR1
26 АС-63 18 2 Савко Павел SavkoPavel dir 1nsirius
25 АС-63 19 1 Соколова Маргарита SokolovaMargarita dir Ritkas33395553
38 АС-63 20 2 Стельмашук Иван StelmashukIvan dir KulibinI
39 АС-63 21 2 Тунчик Антон TunchikAnton dir Stis25
16 АС-63 22 2 Филипчук Дмитрий FilipchukDmitriy dir kuddel11
9 АС-63 23 2 Ярмола Александр YarmolaAleksandr dir alexsandro007
8 АС-63 24 2 Ярмолович Александр YarmolovichAleksandr dir yarmolov
37 АС-64 1 1 Белаш Александр BelashAleksandr dir went2smoke
7 АС-64 2 1 Брызгалов Юрий BryzgalovYuriy dir Gena-Cidarmyan
12 АС-64 3 1 Будник Анна BudnikAnna dir annettebb
33 АС-64 4 1 Булавский Андрей BulavskiyAndrey dir andrei1910bl
43 АС-64 5 2 Бурак Илья BurakIlya dir burakillya
17 АС-64 6 1 Горкавчук Никита GorkavchukNikita dir Exage
4 АС-64 7 1 Евкович Андрей EvkovichAndrey dir Andrei21005
14 АС-64 8 1 Иванюк Иван IvanyukIvan dir JonF1re
36 АС-64 9 1 Игнаткевич Кирилл IgnatkevichKirill dir pyrokekw
22 АС-64 10 1 Кашпир Дмитрий KashpirDmitriy dir Dima-kashpir
30 АС-64 11 1 Котковец Кирилл KotkovetsKirill dir Kirill-Kotkovets
6 АС-64 12 2 Кужир Владислав KuzhirVladislav dir XD-cods
35 АС-64 13 2 Немирович Дмитрий NemirovichDmitriy dir goryachiy-ugolek
2 АС-64 14 2 Попов Алексей PopovAleksey dir LexusxdsD
31 АС-64 15 2 Рабченя Максим RabchenyaMaksim dir benwer9q
28 АС-64 16 1 Ровнейко Захар RovneykoZakhar dir Zaharihnio
41 АС-64 17 2 Смердина Анастасия SmerdinaAnastasiya dir KotyaLapka
1 АС-64 18 2 Хомич Виталий KhomichVitaliy dir VitlyaNB
43 Test 0 0 Тестов Тест Тестович TestovTestTestovich dir

About

WT-CourseWorks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages