# ТехноМир — Лабораторная работа №1 ## Информация об авторе - **ФИО:** Борисов Иван Сергеевич - **Группа:** РПО 23/1 - **Год:** 2026 ## Описание проекта Интернет-магазин техники «ТехноМир» — веб-приложение на ASP.NET Core MVC. Создано в рамках лабораторной работы №1 по дисциплине "Разработка программного обеспечения". ### Реализованные страницы | Страница | Описание | |----------------|------------------------------------------------------------------| | **Главная** | Баннер, описание сервиса, 3 преимущества, кнопка «Перейти в каталог» | | **Каталог** | 4 карточки товаров-заглушки (ноутбук, смартфон, планшет, наушники) | | **О системе** | Описание сервиса, роли пользователей (Гость, Покупатель, Админ) | | **Контакты** | Адрес, телефон, форма обратной связи с валидацией | | **404** | Красивая страница ошибки с ссылкой на главную | ### Технологии - ASP.NET Core 8.0 (MVC) - Bootstrap 5.3 (CDN) - Кастомная CSS-тема с переключением светлой/тёмной темы - Tag Helpers - TempData для сообщений - Адаптивная вёрстка (1200 px и 375 px) ## Как запустить 1. Установить [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) 2. Открыть терминал в папке проекта 3. Выполнить команду: ```bash dotnet run ``` 4. Открыть в браузере: `https://localhost:5000` или `http://localhost:5000` ## Структура проекта ``` TechnoWorld/ ├── Controllers/ │ ├── HomeController.cs — главная, о системе, контакты, ошибки │ └── CatalogController.cs — каталог товаров ├── Models/ │ ├── ErrorViewModel.cs — модель ошибки │ └── ContactViewModel.cs — модель формы обратной связи ├── Views/ │ ├── Home/ │ │ ├── Index.cshtml — главная страница │ │ ├── About.cshtml — о системе │ │ └── Contacts.cshtml — контакты с формой │ ├── Catalog/ │ │ └── Index.cshtml — каталог товаров │ └── Shared/ │ ├── _Layout.cshtml — общий макет (навбар + футер) │ └── Error.cshtml — страница ошибки 404 ├── wwwroot/ │ ├── css/site.css — кастомные стили + тёмная тема │ └── js/site.js — скрипт переключения темы ├── Program.cs — точка входа приложения └── TechnoWorld.csproj — файл проекта ```