Goal abandoned
The author does not write in the goal 10 years 11 months 10 days
Свой блог на 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-фреймворк
Goal Accomplishment Criteria
Блог развернут и функционирует
-
Поиск хостинга проекта
Нужен бесплатный хостинг под Ruby on Rails с возможностью обращения к файловой системе по FTP.Платный VPS от Time-Host. Планирую позже переехать на heroku + amazon s3.
Step cost — 5.05 $
-
Подготовка сервера, настройка.
Nginx+Passenger, Nodejs, Git, RVM, Ruby. БД - SQLite.
-
Подготовка среды разработки на двух ОС
Необходимо развернуть среду разработки, настроить все инструменты, создать репозиторий. За одно хочу попробовать разработку на Linux и Windows, оценив совместимость проекта на этих ОС.
Репозиторий: GitHub
-
Категории
Категории статей - классический CRUD ресурс.
-
Состояния публикации
Состояния - также классический CRUD ресурс, ничего необычного.
-
Теги
Теги - классический CRUD ресурс, все по аналогии.
-
Посты
Посты должны иметь:
- Заголовок;
- Содержание:
- Текст;
- Изображения;
- Код;
- Дату публикации;
- Категорию (1);
- Теги (0+);
- Состояние (1);
-
Настройка автоматического развертывания
Настроить SSH-ключи, Capistrano.
-
Комментарии
-
Аутентификация, авторизация
-
Проработка дизайна
Этот этап должен выполняться на протяжении всего проекта
-
Разметка постов в Markdown
Любой должен иметь возможность получать новые посты по email.
-
Подписка на новые посты
- 4301
- 08 November 2014, 13:39
Don't miss new posts!
Subscribe for the Goal and follow through to its completion