Проект Менеджер задач

Уровень: 4

Профессия Бэкенд JavaScript (node.js)

Па практике узнаете про проектирование баз данных, Heroku (PaaS), Rollbar, webpack, PostCSS, Gulp, ORM, микрофреймворк Koa.js (Express.js), шаблонизацию и Bootstrap.

3
шага
2-4
недели
Начать проект

Цель

Дипломный проект ставит жирную точку в обучении. Цель этого проекта, проработка прикладных инструментов веб-разработчика. Фреймворки, базы данных, orm, все это будет здесь. Темы:

  • Проектирование. Отображение предметной области на хранилище, одна из ключевых задач при разработке. Нормализация (и Денормализация) базы данных, связи между сущностями, все это входит в задачи по проектированию.
  • Heroku (PaaS). Разработка, это только половина дела. Доставка до рабочего окружения и запуск проекта не менее важная задача.
  • Rollbar. Трекинг ошибок в продакшене это залог спокойного сна и уверенность в работоспособности проекта.

  • Webpack. Любой современный веб-сайт, так или иначе, содержит клиентский код, даже если не использует фронтенд фреймворки. Причем речь не только про js, а так же про css и всевозможные процессоры (пре и пост). Все это добро нуждается в управлении и сборке.

  • PostCSS, Autoprefixer. Главный тренд в верстке.

  • Gulp. Чем сложнее проект тем больше консольных задач он включает. Для упрощения их создания и поддержки существует целый класс решений.

  • ORM. Типичные приложения не работают с базой данных напрямую. Этим занимаются специальные фреймворки. Они берут на себя задачи по построению запросов, выборке, сохранению сущностей в базе данных.

  • Микрофреймворк Koa.js. Замена expressjs созданная ее же разработчиками. Самый модный и перспективный.

  • Шаблонизация. Правильный поход к генерации серверного html резко повышает коэффициент повторно используемого кода и упрощает поддержку проекта

  • Bootstrap. Главный css-фреймворк админок и прототипов. Хороший пример для обучения тому, как должен быть структурирован html и css.

Описание

Необходимо разработать Task Manager, систему управления задачами, подобную http://www.redmine.org/ Основные возможности системы:

  • Регистрация
  • Аутентификация
  • Управление задачами
  • Фильтрация

Впечатления #

Прокачался?)

Еще как! :) Стал гораздо лучше понимать, как устроена веб разработка (по крайней мере в бекенд части :)) Ну и само собой современный js. Плюс ко всему на ноде я еще не делал проекты. А очень хотелось попробовать.

Теперь надо копать фронтенд :)

Спасибо за проекты и за курс в целом. Я реально стал по-другому смотреть на некоторые вещи.