Highload продолжает публиковать истории о pet-проектах, вошедших в топ-20 лучших по итогам голосования наших читателей. Параллельно эти проекты оценивает жюри из опытных разработчиков и инвесторов. Победителей конкурса мы планируем объявить 10 июля.
Лучшие проекты получат призы от компании Genesis: занявший первое место — Apple iPhone 12 64GB, второе место — наушники Marshall Monitor II ANC Black, третье — набор Arduino.
Дальше — рассказ разработчика Игоря Филиппова о его pet-проекте — приложении для коммуникации с онлайн-тренером Train Me.
Раньше я занимался с тренером онлайн — он присылал мне тренировки в мессенджер. В этот момент я задумался, насколько такой вариант неэффективен для обеих сторон.
Тренеру приходится где-то складировать тренировки и потом копипастом скидывать их подопечным. А подопечному — сохранять в заметки и не перепутать, когда и какую тренировку нужно выполнить.
Следить за прогрессом веса или объемов тела вообще практически невозможно, особенно на длительном отрезке времени.
Мой проект призван упростить коммуникацию между тренером и его подопечными и дать возможность следить за прогрессом веса и объемов тела для обеих сторон.
Приложение предлагает создание шаблонов тренировок и питания, которые тренер потом может использовать снова, назначая тренировки и рацион буквально в несколько кликов.
Также тренер может добавить собственное видео выполнения каждого упражнения. С одной стороны, это необходимо для того, чтобы не было нужды объяснять технику выполнения, с другой — для более эксклюзивной подачи материала.
Об этапе планирования рассказать сложно — я просто начал делать. Единственное, что могу отметить: вначале использовался бекенд на Elixir (Phoenix Framework), но потом я заменил его на NestJS в связи с тем, что слишком много времени тратилось на освоение незнакомой экосистемы и подходов. Тогда как JavaScript куда проще и понятнее, и можно было сосредоточиться на реализации функциональности приложения.
Клиент:
Сервер:
В инди-хакинге предпочитаю решать проблемы по ходу их возникновения. Поэтому фронтенд, который не имеет SSR и не требует собственного веб-сервера, просто раздается через NestJS, который проксируется через cowboy, который, в свою очередь, использует Heroku.
В проекте на данный момент задействован только один человек — это я.
Возможно, именно поэтому выбор технологий обусловлен практичностью применения сразу. Все это время я работал в JavaRush — сервисе для обучения людей Java. Проектом занимался уже в свободное время.
Основные трудности были связаны с тем, что изначально я фронтенд-разработчик, и приходилось на ходу разбираться с различными концепциями работы на бэкенде (аутентификация, миграции баз данных, загрузка и раздача картинок и видео, реализация связей между юзерами) и при деплое (работа с хостингом, собственный домен и так далее).
Также один раз пришлось переделать полностью дизайн приложения, так как первоначальный выглядел слишком примитивно.
В принципе, основная функциональность, которую я задумывал, уже реализована. Так что можно сказать, что проект готов примерно на 80% (с учетом того, что есть новые идеи и баги).
Можно заходить и пользоваться: https://train-me.cc/
Планирую в будущем покрыть весь проект автотестами, скорее всего, на Cypress.js.
Раскруткой проекта хочу активно заниматься, когда сделаю мобильные клиенты под iOS и Android (сейчас — в процессе).
Бизнес-составляющая проекта планируется следующим образом:
Честно говоря, не знаю, насколько эта модель работоспособна. Никаких объективных фактов и метрик она под собой не имеет. Но интересно проверить!
В рамках конкурса pet-проектов разработчики и инвесторы оценят проект Creatly по таким критериям:
1. Оригинальность идеи.
2. Качество кода.
3. Технический уровень.
4. Жизнеспособность идеи.
5. Перспективы проекта как бизнеса.
6. Инвестиционная привлекательность.
Победителей среди 20 кейсов определят на основе оценок инвесторов (45%), разработчиков (45%) и голосов читателей Highload (10%).
Более подробно, кто и как будет оценивать кейсы, можно прочитать здесь: статья об экспертах, критериях и правилах конкурса.
Дмитрий Грищенко
Full-stack Software Engineer (JavaScript, TypeScript), Innovecs.
Оценивает проекты по Frontend JavaScript и TypeScript. Его коммерческий опыт с JavaScript – около пяти лет. Начинал как фронтенд-девелопер, со временем освоил Node.js и таким образом перешел на full-stack.
Виталий Пономаренко
Lead Software Developer, Uklon.
Инженер-программист с 16-летним опытом разработки программных решений разной степени сложности. За плечами — 8 лет разработки и развертывания embedded systems, CRM и сопутствующих модулей. А последние 8 лет занимается разработкой и внедрением веб-сервисов.
Елена Мажуга
Старший инвестиционный аналитик Genesis Investments.
Роман Бабицкий
Основатель инвесткомпании Babitskyi Investment, глава совета по вопросам иностранных инвестиций и экономического развития Украины.
Дмитрий Томчук
Основатель инвестиционного фонда Fison.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…