Задать вопрос

PHP+JS Трудности с выбором учебно-боевого проекта?

Передо мной встала задача, за кратчайшее время освоить php+js на базовом уровне. Я в этой теме полный нуб. Так как нет лучшего способа изучить язык, чем сделать на нем проект. Помогите с идеей проекта, реализация которого затребует полноценного базового освоения связки php+javascript, и чтобы сложность идеи позволила потом реализованный проект включить в портфолио.
  • Вопрос задан
  • 1160 просмотров
Подписаться 6 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Академия Эдюсон
    Веб-разработчик Базовый
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 6
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Так как нет лучшего способа изучить язык, чем сделать на нем проект.

Сейчас попрут толпы хейтеров из вк)

Помогите с идеей проекта

Лучше всего, чтобы проект включал в себя базу для взаимодействия юзеров не только с сервисом, но и друг с другом. К примеру это может быть любительская мини-букмекерская контора. Тогда перед вами встанут задачи:

  • Парсить матчи с удаленного источника
  • Организовать серверную часть на PHP
  • Организовать часть на WebSocket'ах для обновления данных в реальном времени (коэффициенты, for example)
  • Сконструировать хороший JavaScript-фронтенд. Возможно с использованием Vue/Angular/Rect..
Ответ написан
Stalker_RED
@Stalker_RED
Стандартные темы типа "сделай блог, сделай чат, сделай todo-list" неплохо работают, если ты не поддешься соблазну скопипастить готовый пример из интернетов. Если цель "повторить инструкцию по шагам и положить в портфолио", то можно и так.

Если хоите научиться чему-то самостоятельно, то в идеале было бы подобрать задачу в зависимости от вашего уровня.
Она должна быть интересной, чтоб было о чем подумать, и не настолько сложной, чтобы "ой все, я сдаюсь".

Морской бой или крестики-нолики с мультипллеером, клавиатурный тренажер со статитстикой, поле чудес без якубовича, вебморда для умного дома, поиск ближайших аптек или заправок со сравнением цены, поиск таких-же товаров в других магазинах, и так далее.

Можно полистать какой-нибудь список идей для сайтов, и выбрать оттуда что-то интересное.
Ответ написан
Комментировать
Nikolino
@Nikolino
Сделайте приложение по оптимизации и ресайзингу картинок, по типу tinypng.com

Пользователь может залить картинку любого размера, ваше приложение должно "сжать" эту картинку без потерь.
Пользователь также может выбрать фичу уменьшения размера изображения, допустим, до 50% от исходного изображения. То есть картинка 800х600 будет уменьшена до 400х300 и сжата без потерь.

Если усложнить задачу, то позволить пользователю заливать zip/rar архивы с изображениями, также указывает свою почту куда скинуть итоговый архив с обработанными изображениями.

То есть сначала делаем регистрацию с подтверждением почты, затем появляется фича пакетной загрузки картинок.

Но это может быть слишком сложно для новичка. Поэтому:

Поэтому простой блог с админ панелью (на bootstrap).

Усложняем:
В блоге есть посты, категории и теги. Пост может быть в нескольких категориях. У категорий могут быть родительские категории. Ajax комментарии и лайки к постам и комментариям, комментарии должны быть вложенными (как на хабре или vc.ru).

Еще усложняем:
Пост добавляется через WYSIWYG редактор, в редакторе можно добавлять картинки, которые будут сохраняться на сервере. Желательно, чтобы картинки можно было ресайзить прям на лету. Лучше использовать какой-нибудь filemanager.

Еще усложняем:
Регистрация/авторизация пользователей через соц. сети.

Еще усложняем:
Сделайте полнотекстовый поиск по блогу, в том числе и по комментариям. Освойте Sphinx или Elasticsearch, научитесь устанавливать и настраивать все это на фреймворке (Laravel или Symfony).
Познакомьтесь с Redis, научитесь кешировать данные из базы в redis'e. Обновляйте кэш, когда кто-то добавил комментарий/like или вы добавили пост.

Еще усложняем:
Познакомьтесь с Websocket'ами, научитесь делать так, что если кто-то ставит лайк под постом или комментарием, то все, кто онлайн, видят сразу, что кол-во лайков у поста/комментария увеличилось.
Чтобы со всем этим поиграться, освойте Docker.
Покройте приложение простейшими Unit тестами.
Ну и конечно же, коммитьте это всё на Github(Bitbucket).

Если всё это получилось, то вы уже почти готовый fullstack больше в сторону backend'a. Для middle backend'ера еще нужно подтянуть Rest API, чтобы умели api'шки пилить (с авторизацией), и желательно еще одну СУБД, лучше PostgreSQL, а также анализ запросов к БД (индексы, explain и т.д.). Для полноценного fullstack'a нужно освоить получше JS, верстку(БЭМ) и frontend framework'и: Vue.js, React, Angular, чтобы уметь в одиночку запилить SPA приложение, которое по api тащит данные с вашего же сервера.

Сейчас меня закидают помидорами потому, что сказал middle, и кто-то скажет, что middle это больше n лет реальной разработки. Но описанное выше решает большую часть всех повседневных задач в коммерческих проектах. Если научились делать это, значит научитесь решать и остальные задачи, пусть и немного (или много) погуглив. Здесь на тостере есть те, у кого 5 лет опыта в разработке, но по-прежнему junior'ы, потому что всё время пилили лендинги или сайты-визитки на 3-5 страниц.
Также следует сказать, что грейды (junior, middle, senior) сильно отличаются в разных компаниях

Всё описанное это дело в лучшем случае, полугода. В худшем случае может затянуться и на года.

Скорей всего такого не случится, что вы будете всё время заниматься только этим блогом. На протяжении обучения у вас появится желание сделать что-то еще, потестировать то или это, поиграться с какой-то технологией (Sphinx, Elasticsearch, Redis, RabbitMQ и т.д.) отдельно, или проштудировать верстку, js, возможности фреймворка отдельно. К проекту вы будете возвращаться время от времени, почерпнув знания из промежуточных тестовых проектов.
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
Блог. Без перезагрузки страниц.
Ответ написан
Комментировать
@developer007
можешь сделать свой инет магазин ключей https://zaka-zaka.com/
либо агентский plati.ru + digiseller.ru (Они вместе работают. Есть апи)

я как раз с этого начинал и барыжил скриптом за $15
даже продавалось в 2009
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Если нет опыта успешного и эффективного решения олимпиадных задач, то ситуация патовая.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы