Як запустити проєкт
Є два шляхи: швидкий через Docker і повний ручний. Для щоденної роботи достатньо першого.
Швидкий старт — Docker
Section titled “Швидкий старт — Docker”Проєкт повністю контейнеризований (docker/). Оркестратор — scripts/dev.sh (Git Bash на Windows теж
підходить); повна довідка — docker/README.md.
# 1. Спільний tooling (SQL Server + Azurite) — один раз./scripts/dev.sh tools up
# 2. Зібрати й підняти dev-стек (API + Web)./scripts/dev.sh up dev --build
# або з hot-reload (dotnet watch / ng serve)./scripts/dev.sh watch dev
# Логи / статус / зупинка./scripts/dev.sh logs dev./scripts/dev.sh ps dev./scripts/dev.sh down devСередовище обирається одним аргументом: dev | e2e | demo | selfhost | tailscale | staging | prod. Образ .NET
не залежить від середовища (воно задається через ASPNETCORE_ENVIRONMENT); SQL і Azurite спільні,
кожне середовище має власну базу на тому самому сервері. Dev-стек відповідає на
http://localhost:4200 (web) і http://localhost:5205 (API), e2e — на 4201 / 5206.
Демо-дані сіються лише в Development і E2E: адміністратор [email protected], учасники
[email protected] … [email protected]. Паролі — у DataSeeder. У Production жодного
акаунта не сіється: перший адміністратор створюється майстром налаштування при першому запуску.
Демо-курінь (DemoDataSeeder) — це не порожній каркас, а курінь, у якому вже прожили кілька років:
три гуртки зі своїм проводом, КВ зі Звʼязковим (demo0), трьома впорядниками й інструктором,
двоє колишніх у реєстрі, ступені з датами, проби з підписаними точками на різних стадіях, вмілості
підтверджені й у черзі на розгляд, відзначення, перестороги, календар зі сходинами, таборами й
заходами (з відповідями «йду / не йду»), дошка задач і два сеанси планування табору. Дати рахуються
від сьогодні, тож минуле й майбутнє в календарі є завжди; випадковість із фіксованим зерном — на
кожній машині ті самі люди. Скид перед сідом стирає курінь 1 разом з агендою — свої правки в ньому
не переживуть перезапуск.
Ручний запуск (без Docker)
Section titled “Ручний запуск (без Docker)”1. Клонувати
Section titled “1. Клонувати”git clone https://github.com/iamavasya/Project-K.gitУ корені — Backend/, Frontend/, site/, docker/, docs/.
2. SQL Server
Section titled “2. SQL Server”Підійде SQL Server 2022 Developer з сайту Microsoft, базова інсталяція з усім за замовчуванням. Express не рекомендується — бракує частини можливостей. Для роботи з базою зручний SSMS; при підключенні до локального сервера постав «Trust server certificate».
3. Інструменти
Section titled “3. Інструменти”- .NET SDK 10.0. Для бекенду зручна Visual Studio 2022 з модулями ASP.NET and web development, Azure development, Data storage and processing; VS Code теж підходить.
- Node.js ≥ 22.22.3 (Angular 22 вимагає саме таку мінімальну версію). Найпростіше через
fnm:
fnm install 22 && fnm use 22. - Angular CLI і Azurite глобально:
npm install -g @angular/cli azurite4. Запуск
Section titled “4. Запуск”Фронтенд
cd Frontend/projectk-frontendnpm installnpm run start # http://localhost:4200Azurite — локальна емуляція Azure Blob Storage. Окрема тека поруч із репозиторієм:
azurite --location ./azurite --debug ./azurite/debug.log --skipApiVersionCheckБекенд
- Додай змінну середовища користувача
NUGET_AUTH_TOKEN(персональний токен GitHub з правомread:packages), перезапусти IDE. - Відкрий
Backend/ProjectK.Backend/ProjectK.Backend.sln, профільhttps, F5. - Міграції застосовуються автоматично на старті. Якщо SQL Server і Azurite працюють, у браузері відкриється Swagger.
- Технологічний стек
- Конвенції — прочитати до першого коміту
- Архітектура