VITALIY
VOLOSHIN

Платформа поиска работы для водителей в США

NewJobs4You помогает водителям грузовиков искать работу и выбирать перевозчика. В каталоге можно сравнить оплату, маршруты, график и требования, прочитать отзывы о компании и отправить отклик. Для команды проекта я разработал админку: через неё ведут вакансии и профили работодателей, обрабатывают заявки, модерируют отзывы и публикуют материалы. В неё также входят редакторы страниц и инструменты SEO для поиска работы по городам и штатам. Всю разработку — архитектуру, базу данных, серверную часть и интерфейсы — я выполнил с нуля. Заказчик предоставил требования и дизайн в Figma.

ЗадачаРазработать сервис поиска работы и систему управления платформой

Заказчику нужна была платформа для найма водителей в США. Посетитель должен был находить вакансии по месту и условиям работы, изучать работодателей и отправлять отклики. Команде проекта требовалась админка для управления вакансиями, компаниями, заявками, отзывами и содержимым сайта. Отдельная часть требований касалась SEO: страниц городов и штатов, их наполнения и индексации. На старте были требования и макеты в Figma. Архитектуру приложения, базу данных, серверную логику и интерфейсы предстояло разработать с нуля. Вместе с заказчиком мы уточняли детали на созвонах, согласовывали поведение функций и делили работу на этапы.

Мой вкладСамостоятельно разработал всё приложение

Я отвечал за техническую реализацию проекта целиком. Спроектировал базу данных и API, написал серверную часть, разработал публичный сайт по предоставленному дизайну и сделал его адаптивным. Реализовал поиск с зависимыми фильтрами, страницы вакансий и компаний, отзывы, формы отклика и отправки сообщений. Большой объём работы пришёлся на админку: подробные редакторы вакансий и работодателей, обработку обращений, модерацию, роли и журнал действий. Также я разработал CMS с блочным редактором, управление SEO-страницами и фоновые задачи. По ходу работы показывал заказчику готовые части приложения и вносил согласованные изменения.

Архитектура и серверная часть
Спроектировал базу данных: вакансии, работодатели, география, специальности, отзывы, отклики и контент. Разработал API и серверную логику для сайта и админки, включая права доступа и правила публикации записей.
Интерфейсы и мобильная версия
Разработал публичный сайт по макетам в Figma: каталог, вакансии, профили компаний, блог и формы. Адаптировал навигацию, фильтры и страницы под телефон. Для админки реализовал отдельный настольный интерфейс с таблицами, редакторами и настройками.
Поиск и фильтры
Реализовал поиск по местоположению и условиям работы: оплате, графику, опыту и типу техники. Разработал зависимые фильтры со счётчиками результатов и сохранением выбора в URL. Добавил в админку настройки названий, группировки, порядка и видимости фильтров.
Управление платформой
Разработал разделы для вакансий, компаний, отзывов, откликов и сообщений. Добавил статусы и сроки публикации, загрузку медиа, права доступа и журнал действий. В редакторе компании предусмотрел отдельные настройки найма, льгот, автопарка, контактов и других разделов профиля.
CMS и редакторы страниц
Создал блочный редактор статей с текстом, изображениями, видео, таблицами, FAQ и подборками из каталога. Реализовал управление авторами, категориями и публикациями, а также редактирование информационных страниц и секций сайта.
SEO и фоновые задачи
Разработал страницы для штатов, городов и специальностей в конкретной локации. Реализовал управление метаданными и индексацией, генерацию sitemap, обработку истечения срока вакансий и очередь уведомлений. Подготовил запуск сервисов в Docker.

Как устроена платформа

Поиск вакансий и фильтры

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

Вакансия, отклик и связь с работодателем

Страница вакансии содержит условия оплаты, график, требования к водителю, преимущества, информацию о технике и маршрутах. Здесь же находятся сведения о работодателе и способы связи. Из вакансии можно перейти к компании, отправить отклик или задать вопрос через отдельную форму. Отклик доступен без регистрации. Водитель заполняет контакты, указывает класс CDL, опыт и местоположение, при желании прикладывает резюме. Я реализовал обе формы и обработку заявок на сервере. Отклики и сообщения сохраняются в админке с привязкой к вакансии и работодателю.

Профили компаний и отзывы водителей

Для перевозчиков я разработал подробные профили: описание компании, условия найма, льготы, правила работы, автопарк, фотографии и контакты. В профиле также отображаются открытые вакансии. Данные этих разделов команда заполняет через редактор компании в админке. Отдельно реализовал отзывы с общей оценкой и оценками условий работы. Водитель может указать должность и период работы, написать отзыв и приложить документ, подтверждающий трудоустройство. В админке предусмотрено управление публикацией отзывов; опубликованные оценки используются в рейтинге компании.

Админка и управление данными

Я разработал админку для вакансий, компаний, отзывов, откликов и сообщений. В списках можно найти запись, проверить её статус и открыть редактор. Для вакансий предусмотрены сроки действия и настройки публикации. Профиль работодателя редактируется по разделам: условия найма, оплата, льготы, техника, адреса, контакты и медиа. Через админку команда также управляет справочниками и настройками фильтров. Права доступа зависят от роли сотрудника, а изменения фиксируются в журнале действий. Админка рассчитана на работу с компьютера: большие таблицы и подробные формы представлены в настольном интерфейсе.

Блог и управление содержимым сайта

Для публикации материалов я разработал CMS с блочным редактором. Статью можно собрать из текста, изображений, видео, таблиц, FAQ и подборок вакансий или компаний. Редактор позволяет менять порядок блоков, задавать обложку, автора, категории, дату публикации и метаданные. На сайте статьи представлены в блоге с категориями; внутри материала есть оглавление. Подборки вакансий и компаний берут данные из каталога. Кроме блога, через CMS редактируются информационные страницы, первые экраны и секции сайта — для этих изменений команде не нужно обращаться к коду.

Страницы городов и штатов, настройки SEO

Я разработал страницы поиска работы по штатам, городам и сочетаниям локации со специальностью. На них выводятся соответствующие вакансии, компании и редакционные материалы. Для таких страниц в админке есть настройки содержания, метаданных и отдельных секций. Реализовал управление индексацией с учётом наполнения страниц и генерацию sitemap. Обновление поисковых страниц связано с данными каталога и сроками действия вакансий. Команда может управлять этой частью сайта через админку вместе с остальным контентом.

Техническая реализация

Публичный сайт и админку я разработал на Next.js и TypeScript, API — на Python и FastAPI. Данные хранятся в PostgreSQL; для работы с ними используется SQLAlchemy. Сервер обрабатывает поисковые запросы, отклики и сообщения, проверяет права доступа и определяет, какие записи доступны для публикации. Для истечения срока вакансий, обновления поисковых страниц, генерации sitemap и обработки очереди уведомлений предусмотрены отдельные фоновые процессы. В этой части используется Redis. Сервисы приложения запускаются в Docker.

  • TypeScript
  • Next.js
  • Python
  • FastAPI
  • PostgreSQL
  • Redis
  • SQLAlchemy
  • Docker

Обсудим
ваш проект

Расскажите о задаче

Оставьте контакт и пару слов о проекте. Я прочитаю заявку и свяжусь с вами, чтобы обсудить детали.