Цель заброшена
Автор не отписывался в цели 9 лет 10 месяцев 25 дней
Свой блог на Ruby on Rails через BDD
За последнее время изучил большое количество материала по разработке на RoR, пришло время применять свои знания на практике.
В качестве первого приложения выступит простой технический блог. Разработку буду вести через поведение (BDD):
- Написание сценария - сценарий красный;
- Написание тестов - тесты красные;
- Написание кода - тесты зеленые;
- Возврат на п.2, пока сценарий не станет зеленым;
- Рефакторинг кода, тестов, сценариев;
- Возвращение на п.1, пока приложение не будет готово)
Итак, требования (список будет пополняться/изменяться):
- Один пользователь-администратор, OAuth для комментаторов;
- Посты в формате markdown;
- Создание постов в админ-панели;
- Загрузка готовых постов по FTP;
- Загрузка готовых постов через e-mail;
- Выделение кода в постах;
- Возможность вставки изображений;
- Категории постов;
- Теги;
- Комментарии;
- Состояния публикации постов;
- Полнотекстовый поиск;
- ?
Инструментарий:
ОС:
- Windows 7
- Ubuntu 14.10
Редактор:
Фреймворк:
Аутентификация, авторизация:
Тестирование:
Cucumber - тестирование через поведение- RSpec - тестирование
- FactoryGirl - фабрики
- Capybara - тестирование интерфейса
- SimpleCov - покрытие кода тестами
- Guard - непрерывное тестирование
- Spork - предзагрузка на Windows
- Spring- предзагрузка на Linux
Чистота кода:
Развертывание:
Другое:
- Markup - формирование постов из Markdown
- Semantic UI - frontend-фреймворк
Критерий завершения
Блог развернут и функционирует
-
Поиск хостинга проекта
Нужен бесплатный хостинг под Ruby on Rails с возможностью обращения к файловой системе по FTP.Платный VPS от Time-Host. Планирую позже переехать на heroku + amazon s3.
Стоимость этапа — 400 ₽
-
Подготовка сервера, настройка.
Nginx+Passenger, Nodejs, Git, RVM, Ruby. БД - SQLite.
-
Подготовка среды разработки на двух ОС
Необходимо развернуть среду разработки, настроить все инструменты, создать репозиторий. За одно хочу попробовать разработку на Linux и Windows, оценив совместимость проекта на этих ОС.
Репозиторий: GitHub
-
Категории
Категории статей - классический CRUD ресурс.
-
Состояния публикации
Состояния - также классический CRUD ресурс, ничего необычного.
-
Теги
Теги - классический CRUD ресурс, все по аналогии.
-
Посты
Посты должны иметь:
- Заголовок;
- Содержание:
- Текст;
- Изображения;
- Код;
- Дату публикации;
- Категорию (1);
- Теги (0+);
- Состояние (1);
-
Настройка автоматического развертывания
Настроить SSH-ключи, Capistrano.
-
Комментарии
-
Аутентификация, авторизация
-
Проработка дизайна
Этот этап должен выполняться на протяжении всего проекта
-
Разметка постов в Markdown
Любой должен иметь возможность получать новые посты по email.
-
Подписка на новые посты
- 3845
- 08 ноября 2014, 13:39
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением