NetrunНа главную

С чего начать

Куда выложить курсовую или студенческий проект

· 5 мин чтения

Коротко

Выложить курсовую или студенческий проект стоит туда, где он работает без вашего ноутбука и открывается по публичной ссылке: тогда работу посмотрят с любого устройства и без вашего участия. Самый быстрый путь — собрать папку с кодом в архив без venv и node_modules, загрузить её в Netrun, ответить на пару вопросов о проекте и получить адрес с HTTPS. Эту ссылку можно вставить в презентацию, в пояснительную записку или превратить в QR-код на слайде. Для сайта хватает бесплатного тарифа: он засыпает при простое и просыпается сам, когда кто-то открывает ссылку.

Обычно всё выглядит так: проект работает, вы запускаете его в терминале, открываете адрес на своём ноутбуке — и на этом возможности заканчиваются. На защите этого не хватает. «У меня локально работает» преподаватель проверить не может: ему нужна ссылка, которая откроется с его компьютера или телефона, желательно и вечером накануне, и во время самой защиты. Отсюда и вопрос, куда выложить курсовую или студенческий проект, если сервера у вас нет и разбираться с ним за три дня до сдачи не хочется.

В Netrun это делается за вечер: вы собираете папку с кодом в архив, загружаете её, отвечаете на пару вопросов о проекте и получаете публичный адрес с HTTPS. Ни аренды сервера, ни настройки веб-сервера, ни сертификатов. Ниже — что убрать из проекта перед загрузкой, какие грабли чаще всего ломают студенческую работу, когда она уезжает с вашего ноутбука, и как довести дело до ссылки, которую не стыдно вставить в презентацию.

  1. Соберите папку в архив без лишнего#

    Возьмите папку проекта и удалите из неё всё, что ставится при сборке: venv или .venv у Python, node_modules у JavaScript, папки target, bin, obj, build. Из-за них архив разбухает в десятки раз и загрузка тянется впустую — зависимости мы поставим сами по requirements.txt, package.json или другому файлу проекта. Оставьте исходный код, файл со списком зависимостей и, если есть, небольшие данные для демонстрации. Готовую папку упакуйте в ZIP — подойдут также RAR, 7z и tar.

  2. Уберите localhost и жёстко прописанный порт#

    Это причина номер один, почему студенческий проект открывается на ноутбуке и не открывается по ссылке. В коде обычно стоит 127.0.0.1 или localhost и какой-нибудь порт вроде 5000 или 8000, прописанный намертво. Замените адрес на 0.0.0.0, а номер порта читайте из переменной окружения PORT — платформа сама подставит туда нужное значение. У Flask, Django, FastAPI, Express и почти любого фреймворка это одна строка в месте запуска.

  3. Вынесите пароли и ключи из кода#

    В курсовых пароль от базы, токен бота или ключ от чужого сервиса часто лежат прямо в файле рядом с кодом. Это плохо и на защите, и после неё: архив с проектом обычно расходится по одногруппникам и попадает в отчёт. Читайте такие значения из переменных окружения, а при настройке проекта Netrun спросит их и подставит в зашифрованном виде — в архиве и на GitHub они лежать не будут. Файл .env в архив класть не нужно.

  4. Положите данные для демонстрации в папку /data#

    Если проект пишет что-то на диск — база SQLite, загруженные пользователем файлы, сохранённые результаты — держите это в постоянной папке /data. Всё, что записано туда, переживает обновление кода и перезапуск, а файлы, лежащие рядом с кодом, при следующей публикации создаются заново. Заполнить базу заранее тоже можно: во вкладке «Данные» в кабинете файлы видно, их можно загрузить и скачать. Если вы приносите проект со своим docker-compose, роль постоянного хранилища играют тома, описанные в вашем файле.

  5. Загрузите проект и получите ссылку#

    Откройте Netrun, загрузите архив или импортируйте папку с кодом из GitHub, в том числе приватный репозиторий — git и терминал для этого не нужны. Платформа сама определит язык и фреймворк, соберёт проект и запустит его. Статус и логи видны в кабинете в реальном времени, поэтому ошибку при старте вы увидите сразу, а не по пустой странице. В конце вы получите публичный адрес с HTTPS.

  6. Проверьте ссылку с телефона и вставьте её в презентацию#

    Откройте адрес на телефоне с мобильным интернетом, а не по домашнему Wi-Fi — так вы проверите проект ровно так же, как его увидит преподаватель. Убедитесь, что открывается главная страница, а не только та, которую вы всё время тестировали. Ссылку положите на титульный слайд и в пояснительную записку, а для аудитории сделайте из неё QR-код любым генератором — по нему работу откроют с места, не переписывая адрес руками.

Дальше проект живёт сам: ссылка одна и та же, а если вы поправите код перед защитой, можно загрузить новую версию — адрес не изменится. Для сайта бесплатного тарифа обычно достаточно: он засыпает, когда им долго никто не пользуется, и просыпается за пару секунд, когда ссылку открывают, поэтому первый заход после паузы чуть медленнее. Если курсовая — это Telegram-бот или фоновый скрипт, на бесплатном тарифе даётся три дня работы, чего обычно хватает на подготовку и саму защиту, а для более долгой жизни есть тариф Pro с работой без перерывов. Попробовать Netrun.

Частые вопросы

Сколько времени занимает публикация курсовой?

Обычно вечер, и почти всё это время уходит на подготовку папки: убрать лишние файлы, поправить адрес и порт, вынести пароли. Сама загрузка и сборка проекта занимают минуты. Если вы делаете это накануне защиты, закладывайте час с запасом на случай, если проект не соберётся с первого раза.

Что делать, если на ноутбуке всё работает, а по ссылке страница не открывается?

В девяти случаях из десяти виноват адрес запуска: приложение слушает 127.0.0.1 или порт, прописанный в коде вручную. Замените адрес на 0.0.0.0 и берите порт из переменной окружения PORT. Если дело не в этом, откройте логи проекта в кабинете — там видно, упало ли приложение при старте и на какой строке.

Можно ли показать проект с базой данных?

Да. Если у вас SQLite, положите файл базы в постоянную папку /data, чтобы записи не пропадали при обновлении кода. Если нужна полноценная база вроде PostgreSQL или MySQL, её поднимают отдельным сервисом рядом с приложением через docker-compose — в одном проекте можно связать до пяти сервисов.

Как сделать QR-код на проект для презентации?

Возьмите готовую ссылку на проект и прогоните её через любой бесплатный генератор QR-кодов, потом вставьте картинку на слайд. Отдельного адреса для этого делать не нужно — код ведёт на тот же публичный адрес. Перед защитой проверьте код камерой телефона, чтобы не выяснять это перед аудиторией.

Что будет с проектом после защиты?

Сайт продолжит работать по той же ссылке, пока вы его не удалите: на бесплатном тарифе он засыпает при простое и просыпается сам, когда ссылку открывают. Если курсовая — это бот или фоновый скрипт, бесплатно даётся три дня работы, потом проект выключается, а код и настройки остаются на месте. Проект можно оставить в портфолио и показывать на собеседованиях, а можно удалить из кабинета одним действием, чтобы освободить место под следующую работу. Код и настройки при удалении проекта исчезают, поэтому архив с исходниками держите у себя.

Обязательно ли выкладывать код на GitHub?

Нет. Достаточно загрузить папку архивом — git и командная строка не нужны. Импорт с GitHub есть, в том числе из приватного репозитория, но это просто второй способ принести тот же код. Если преподаватель просит и ссылку на код, GitHub пригодится отдельно от публикации.

Это бесплатный хостинг?

Для сайтов — да. На бесплатном тарифе сайт живёт сколько угодно: он засыпает без посетителей и просыпается сам, когда его открывают, а за сервер платить не нужно. Бота и фоновый скрипт можно запустить и попробовать бесплатно в течение 3 дней — они заняты постоянно и спать не умеют, поэтому дальше им нужен тариф Pro. Для нескольких проектов есть докупаемые слоты.

Какие языки и технологии поддерживаются?

Python, Node.js, Go, Rust, Ruby, PHP, Java, .NET, Deno, Bun, Elixir, статические сайты и bash-скрипты. Можно принести свой Dockerfile или docker-compose, но чаще стек определяется по коду автоматически.

Где указать токены и другие секретные значения?

В проекте есть вкладка «Секреты» — там задаются значения из кода, например токен от BotFather. Мы храним их в зашифрованном виде: названия переменных вы видите, сами значения не показываем никому, включая вас.

Почему мой сайт иногда засыпает?

На бесплатном тарифе сайты засыпают после простоя и просыпаются за пару секунд при первом запросе. На тарифе Pro проект работает без сна.

Запустите свой проект

Загрузите код, ответьте на пару вопросов — и получите рабочую ссылку. Есть бесплатный тариф

Попробовать Netrun
Все статьи блога