Цель заброшена
Автор не отписывался в цели 9 лет 8 месяцев 2 дня
Свой блог на 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.
-
Подписка на новые посты
- 3721
- 08 ноября 2014, 13:39
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением