hexlet / hexlet-cv Goto Github PK
View Code? Open in Web Editor NEWStackoverflow for Resume
Home Page: https://cv.hexlet.io
License: GNU Affero General Public License v3.0
Stackoverflow for Resume
Home Page: https://cv.hexlet.io
License: GNU Affero General Public License v3.0
Предложение сделать кликабельные карточки резюме. Например так как это сделано в hh. В мобильной версии удобнее нажать на карточку чем целиться в заголовок.
На странице пользователя есть ссылка на его профиль на Хекслте в виде текста. Стоит добавить активную сылку на Хекслет и открывать её в новой вкладке.
заметил следующее
если резюме в черновике, то ссылки на комментарии к этим резюме все равно отображаются в профилях авторов комментов
вот пример
https://cv.hexlet.io/resumes/250 - закрытое резюме
профиль с комментарием https://cv.hexlet.io/users/1
нужно чтобы такие комментарии не выводились или выводились без ссылки на резюме
Вышел 5й бутстрап, нужны добровольцы на переезд!
речь про вот эти ссылки https://prnt.sc/1ebnsbe
какие пункты надо проверить:
популярные - здесь по логике должны быть сортировка по количеству просмотров, по убыванию
новые - сортировка по дате публикации, от новых к более старым
Если к выложенному резюме будут добавлены новые комментарии, то пользователь получит уведомление на почту с текстом этих комментариев.
Вот пример, как это делает слак:
Нужно будет приделать мейлер для этих писем, также стейт машину, чтобы мы могли отслеживать состояние письма.
Мой вариант состояний:
state_machine :state, initial: :waiting do
state :working
state :finished
state :failed
event :work do
transition waiting: :working
end
event :finish do
transition working: :finished
end
event :fail do
transition working: :failed
end
Не нужно будет оповещать юзера, а каждом комменте, который добавили к его посту. Лучше будем высылать все комменты, которые добавили за определенный промежуток времени.
на странице https://cv.hexlet.io/vacancies отдается тип контента Content-Type: application/rss+xml; charset=utf-8
нужно исправить на Content-Type: text/html; charset=utf-8
Если добавляемый комментарий не проходит валидацию, то приложение падает. Нужно сообщать пользователю, что не так.
Вот здесь "собака" зарыта
Возможно, в данном показателе лучше не учитывать просмотры автора, так как пока пишешь, сто раз перезаходишь и смотришь, что получилось.
Если данная информация присутствует для работодателей, то логичнее исключить возможность "накрутки просмотров" самого автора. В таком случае данный показатель будет объективнее
Как воспроизвести:
что происходит:
Not found. Authentication passthru.
Request URL: https://cv.hexlet.io/users/auth/github Request Method: GET Status Code: 404 Not Found Remote Address: 63.32.161.232:443 Referrer Policy: strict-origin-when-cross-origin
Нет кнопки редактирования резюме (в черновике и опубликованного)
Пример резюме https://cv.hexlet.io/resumes/55
нужно добавить h1 на главной https://prnt.sc/1eb43bq
текст - нужно чтобы была фраза "Резюме программиста"
как вариант - Резюме программистов на Hexlet CV
Месяцы в периодах работы/обучения представлены в родительном падеже: мая, июня, июля.
мая 2008 - июня 2009
Нужен именительный падеж: май, июнь, июль.
Наверняка возникнет конфликт с датами оставления комментариев, так как там указывается число, и ему нужен родительный падеж месяца, как сейчас.
05 февр., 23:02
Можно указывать эти даты в формате dd.mm.yy.
Возможности:
это можно будет делать только после реализации этих правок #249
нужно вывести новые поля на страницах вакансий и привести отображение информации в соответствие с нашей чек-формой
Логика вывода полей
Название (h1) - [Уровень] [Заголовок] ([Тип работы]) – [Компания]
Должность: [Уровень] [Заголовок]
Тип занятости: [Тип работы]
Формат занятости: [город], [Формат занятости]
Опыт: [опыт]
Компания: [компания](название - активная ссылка из поля [сайт])
Краткая информация о компании: [Информация о компании]
Краткая информация о проекте: [Информация о проекте]
Стек технологий: [Стеки/технологии]
Задачи сотрудника: [Задачи сотрудника]
Требования: [требования]
Условия и бонусы: [Условия и бонусы]
Зарплатная вилка:
от [Зарплата от] - [Зарплата до] [Валюта] [Зарплатная вилка]
логика вывода такая:
если заполнена только [зп от] и [валюта] то: от ХХХХХ руб
если заполнена только [зп до] и [валюта] то вывести без доп слов: ХХХХХХ руб
может быть ничего не указано кроме [Зарплатная вилка], такое может быть если зп по итогам собеседования с успешным кандидатом
если заполнены все поля то получится: от ХХХХХ до ХХХХХХ руб gross
Контакты
[Имя контакта]
Телеграм: [Телеграм контакта]
Email: [Email контакта]
Телефон: [Телефон контакта]
Ссылка для связи: [Ссылка для связи]
теги: [теги со ссылками на страницы] - чтобы это всё облагородить, можно к тексту на ссылке добавить # в начале каждого тега
Пример вакансии:
Должность: Джуниор Java-разработчик
Тип занятости: Полный день
Формат занятости: Москва, офис
Опыт: не требуется
Компания: КРЫЖОВНИК
Краткая информация о компании: КРЫЖОВНИК — лидера рынка информационных технологий России; эксперт в области анализа, интеллектуальной автоматизации и трансформации корпоративных бизнес-процессов.
Краткая информация о проекте:
На стажерскую программу в области разработки ПО на Java требуется Стажёр-разработчик Java. Данная стажировка - это отличная возможность не только познакомиться с разработкой enterprise-решений, но и пообщаться с ведущими специалистами в данной области и применить полученные знания на практике.
Стек технологий:
PostgreSQL · Golang · CI/CD methodologies · Kubernetes · Docker
Задачи сотрудника:
Требования:
Условия и бонусы:
Зарплатная вилка:
от 60 000 - до 80 000 рублей net
Контакты
Станислав
e-mail: [email protected]
Telegram: https://t.me/login
телефон: 88005553535
теги: #один #два #три #тд
У меня вопрос по Hexlet CV. В моём админском окне всё выглядит вот так :point_down::skin-tone-2:
Это неудобно. Насколько возможно добавить поля так, чтобы:
я видела компанию, которая разметила вакансию.
Компания мне нужна для более быстрого поиска, если что-то надо уточнить, или удалить.
должность заменить на имя человека
хотелось бы иметь несколько состояния резюме:
В режиме гостя нахожусь на главной https://cv.hexlet.io/
Жму популярные, открывается https://cv.hexlet.io/?q%5Bpopular_gteq%5D=2021-01-03
Ничего не меняется.
Жму "новые", показывается, открывается https://cv.hexlet.io/?q%5Bcreated_at_gteq%5D=2021-01-09
Страница пустая.
Если на машине yarn
уже установлен глобально, то попытка выполнить make setup
упадёт с ошибкой
/usr/bin/yarnpkg -> /usr/lib/node_modules/yarn/bin/yarn.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
npm ERR! dest /usr/bin/yarn
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/bin/yarn'
npm ERR! File exists: /usr/bin/yarn
Так как в setup
есть
npm install --global yarn
Проверял на Ubuntu 20.04 LTS через WSL на Windows 10
нужно:
поле сайт сделать не обязательным
сделать подписи к полям ОТ и ДО - нужно добавить пояснение, так как в процессе работы начали возникать недопонимания полей, можно написать так "Оплата от"
у нас индексируемая пагинация и нужно уникализировать теги чтобы такие страницы не дублировали первые страницы
сделать это можно следующим образом
если в адресе страницы есть параметр ?page=, то в теги title и description подставлять "Cтраница [номер страницы] - "
получается следующие шаблоны:
title: Cтраница [номер страницы] - [title первой страницы]
description: Cтраница [номер страницы] - [description первой страницы]
Важно:
подстановка должна быть именно в начало тега
теги первой страницы должны оставаться без изменений (без подстановки номера)
примеры страниц где может быть пагинация
главная - https://cv.hexlet.io/?page=2
вакансии - https://cv.hexlet.io/vacancies?page=2
теги в вакансиях - https://cv.hexlet.io/vacancy_filters/technology-rest?page=2
Было бы хорошо, если бы отсекалось все лишнее, когда мы хотим распечатать страницу с резюме (показывать только отформатированный текст, по структуре похожее как у hh.ru).
Либо отдельной печатью (печать страницы), либо скачать сгенерерированный pdf
Video comment
Сейчас в фид https://cv.hexlet.io/vacancies.rss передаётся мало информации, и чтобы понять, что там внутри, нужно открывать страницу с вакансией. Было бы хорошо передавать или весь текст вакансии, или раздел Общие сведения целиком
На данный момент у работодателя нет возможно отсортировать CV по языкам программирования, что несёт за собой много неудобств.
При попытке деплоя в heroлг (make deploy) билд падает с ошибкой.
Сначала упал с
-----> Installing node-v12.16.2-linux-x64
-----> Installing yarn-v1.22.4
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
yarn install v1.22.4
[1/4] Resolving packages...
error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Compiling...
Compilation failed:
yarn run v1.22.4
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command "webpack" not found.
!
! Precompiling assets failed.
!
! Push rejected, failed to compile Ruby app.
! Push failed
Пофиксил прогнав yarn instal
l и закомитив yarn.lock
файл. Затем упал на этапе сборки модулей
[119] ./app/javascript/entrypoints/application.scss 562 bytes {0} [built] [failed] [1 error]
[120] ./node_modules/bootstrap/dist/js/bootstrap.esm.js + 55 modules 237 KiB {0} [built]
| 56 modules
+ 116 hidden modules
ERROR in ./node_modules/bootstrap-icons/font/bootstrap-icons.css
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
at Object.loader (/tmp/build_0e5cb90e/node_modules/postcss-loader/dist/index.js:40:24)
at /tmp/build_0e5cb90e/node_modules/webpack/lib/NormalModule.js:316:20
at /tmp/build_0e5cb90e/node_modules/loader-runner/lib/LoaderRunner.js:367:11
at /tmp/build_0e5cb90e/node_modules/loader-runner/lib/LoaderRunner.js:233:18
@ ./app/javascript/entrypoints/application.js 6:0-49
@ multi ./app/javascript/entrypoints/application.js ./app/javascript/entrypoints/application.scss
ERROR in ./app/javascript/entrypoints/application.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
at Object.loader (/tmp/build_0e5cb90e/node_modules/sass-loader/dist/index.js:25:24)
at /tmp/build_0e5cb90e/node_modules/webpack/lib/NormalModule.js:316:20
Пофиксил даунгрейдом зависимости postcss-loader
"popper.js": "^1.16.1",
- "postcss-loader": "^6.1.1",
+ "postcss-loader": "^4.2.0",
"prop-types": "^15.7.2",
Make a redirection http://
->https://
.
в форме добавления вакансий (https://cv.hexlet.io/account/vacancies/new) нужно обновить поля (добавить новые и скорректировать уже имеющиеся), а так же поправить логику работы и очередность полей. Ниже список правок
доработки по полям:
порядок полей в форме добавления:
Предлагаю добавить систему тегов к резюме, чтобы можно было осуществлять по ней поиск.
Пример с stackoverflow:
Эта фича будет полезна юзерам, которые прежде чем писать свой вопрос, захотят посмотреть чужие резюме по тегу и возможно сразу найти ответ на свой вопрос или получить идею, что можно добавить в свое резюме.
на страницах вакансий, в блоке "похожие вакансии" нужно поправить регистр у города
вот здесь https://prnt.sc/1eb5bpp
нужно сделать чтобы город был с большой буквы
пример можно увидеть здесь https://cv.hexlet.io/vacancies/11
на странице с выборкой по технологиям, можно поправить регистр в заголовке h1
https://cv.hexlet.io/vacancy_filters/technology-php
вот здесь - https://prnt.sc/1ebeawa
Нужно чтобы технология вывалилась так как она заполнена в карточке или вся в верхнем регистре, и в идеале ещё добавить дефис
чтобы получалось [технология]-разработчик
Сейчас есть только валюта, а суммы нет. Нужно для вывода в описании вакансии
Как гость, я вижу форму добавления рекомендация, хоть и нет возможности это сделать. При попытке сделать это, меня просят авторизоваться. Форма вводит в заблуждение
Проблема в том, что периодически на сайт залетает спам. Нужно добавить капчу при регистрации
description в профилях пользователей
https://cv.hexlet.io/users/:id
шаблон: [id] | Профиль пользователя [имя пользователя] | Hexlet CV
страница выборки город + технология
https://cv.hexlet.io/vacancy_filters/city-moskwa_level-junior_technology-javascript
в тегах в некоторых местах пропущены переменные
title сейчас: Вакансии для Джуниор Javascript разработчиков в городе | Hexlet CV
нужно добавить город: Вакансии для Джуниор Javascript разработчиков в городе [город] | Hexlet CV
выборка по технологии
https://cv.hexlet.io/vacancy_filters/technology-php
description сейчас: Актуальные вакансии для Php разработчиков . Работа для -программистов, подборка от редакции Hexlet CV
нужно добавить технологию: Актуальные вакансии для Php разработчиков . Работа для [технология]-программистов, подборка от редакции Hexlet CV
если резюме перенести в черновик, то страница начинает отдавать код 500, нужно исправить на 404
вот пример https://cv.hexlet.io/resumes/250
у HR потребность найти только те резюме, которые могут быть связаны с определенным стеком. Найти только rails разработчиков.
Можно добавить выбор заранее определенных навыков или стеков, по которым можно будет делать выборки
Варианты реализации:
на станицы вакансий и возможно в rss нужно добавить подпись "При отклике на вакансию указывайте, что вы от Хекслета =)"
нужно добавить форму расчета зп - поле "сколько денег"
и добавить поле технологи
Ребята, привет. Список SEO-ошибок по результатам проверки сайта:
— дублирующиеся тайтлы https://drive.google.com/open?id=1ZfN5bMX3bElEOUFh_SchYOG1nEGn5WK6
— дублирующийся контент https://drive.google.com/open?id=19jAQlRKv9AIUSICwCyxuRnqVRT5RJ7my
— нет карты сайта по URL https://cv.hexlet.io/sitemap.xml
— некэшированные файлы JS и CSS https://drive.google.com/open?id=1PEndlCXirIXqfmuDR9hUoKmUQQHZF83g
— страницы без метаописаний https://drive.google.com/open?id=1PuN6_sNJIi019hHfvsFdxGKg_j3vuZzR
— страницы без заголовка h1 https://drive.google.com/open?id=1Yjp6dzqZkphPYuGM7GKo4ERYYtFWR5Eo
— низкое соотношение текста и HTML https://drive.google.com/open?id=1V9bAxBM-bA2ZSZqRb_0K-Ah8zHwFW73Z
— мало текста на странице https://drive.google.com/open?id=1c7uf04ThhJ3hplOkk6twQv76QfmC28J9
— Битые внешние ссылки https://drive.google.com/open?id=1yY8j2k8q2ynNyLk39UuEh-YZqzZ424Or
— временные редиректы (нужны постоянные) https://drive.google.com/open?id=1VEw-eiPUCCjQjSFoeHXv262gsq4uRrjQ
https://cv.hexlet.io/resumes/25#answer-231 пошел спам
19:22
нужна возможность мочить
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.