Local Setup
Цей гайд допоможе вам швидко розгорнути бекенд-частину проєкту на вашій локальній машині для розробки та тестування.
Вимоги до середовища
Section titled “Вимоги до середовища”Перед початком переконайтеся, що у вас встановлені наступні інструменти:
- .NET 8 SDK
- Docker та Docker Compose (для локальної БД та Redis)
- Git
Конфігурація оточення (appsettings.Development.json)
Section titled “Конфігурація оточення (appsettings.Development.json)”Проєкт використовує файл appsettings.Development.json для зберігання локальних налаштувань.
Створіть цей файл у директорії Cinema.Api/ (якщо його там немає) та заповніть необхідними ключами:
{ "ConnectionStrings": { // Змініть рядок підключення відповідно до вашої БД у docker-compose "DefaultConnection": "Server=localhost,1433;Database=CinemaDb;User Id=sa;Password=YourStrongPassword123!;TrustServerCertificate=True;", "Redis": "localhost:6379" }, "JwtSettings": { "Secret": "your-very-long-and-secure-jwt-secret-key-12345", "Issuer": "CinemaApi", "Audience": "CinemaFrontend", "ExpiryMinutes": 60, "RefreshTokenExpiryDays": 7 }, "TmdbSettings": { "ApiKey": "your-tmdb-api-key", "BaseUrl": "https://api.themoviedb.org/3/" }, "GeminiOptions": { "ApiKey": "your-gemini-api-key" }, "SmtpSettings": { "Host": "smtp.gmail.com", "Port": 587, "Username": "your-email@gmail.com", "Password": "your-app-password", "EnableSsl": true }}Де взяти API ключі?
Section titled “Де взяти API ключі?”- TMDB: Зареєструйтесь на The Movie Database та отримайте безкоштовний ключ у налаштуваннях профілю.
- Gemini: Отримайте ключ у консолі Google AI Studio.
Розгортання
Section titled “Розгортання”-
Клонуйте репозиторій
Завантажте код бекенду на вашу машину:
Terminal window git clone https://github.com/stkossman/cinema-platform-back.gitcd cinema-platform-back -
Запустіть інфраструктуру (Docker)
Підніміть базу даних та Redis за допомогою Docker Compose:
Terminal window docker-compose up -dПереконайтеся, що відповідні порти (зазвичай 1433 для SQL та 6379 для Redis) не зайняті іншими програмами.
-
Застосуйте міграції БД
Створіть таблиці в базі даних за допомогою EF Core:
Terminal window dotnet ef database update --project Cinema.Infrastructure --startup-project Cinema.Api -
Запустіть API
Запустіть проєкт. За замовчуванням Swagger буде доступний для тестування ендпоінтів:
Terminal window dotnet run --project Cinema.Api
Корисні команди EF Core
Section titled “Корисні команди EF Core”Якщо ви вносите зміни до сутностей у шарі Domain або конфігурацій у шарі Infrastructure, вам знадобляться ці команди:
dotnet ef migrations add <MigrationName> --project Cinema.Infrastructure --startup-project Cinema.Apidotnet ef migrations remove --project Cinema.Infrastructure --startup-project Cinema.Apidotnet ef database update --project Cinema.Infrastructure --startup-project Cinema.Api