1

Step 1

Поиск хостинга проекта

08 November—08 November

2

Step 2

Подготовка сервера, настройка.

08 November—08 November

3

Step 3

Подготовка среды разработки на двух ОС

08 November—08 November

4

Step 4

Категории

08 November—08 November

5

Step 5

Состояния публикации

08 November—08 November

6

Step 6

Теги

08 November—08 November

7

Step 7

Посты

08 November—08 November

8

Step 8

Настройка автоматического развертывания

08 November—08 November

9

Step 9

Комментарии

08 November—08 November

10

Step 10

Аутентификация, авторизация

08 November—08 November

11

Step 11

Проработка дизайна

08 November—08 November

12

Step 12

Разметка постов в Markdown

13

Step 13

Подписка на новые посты

1

Step 1

Поиск хостинга проекта

08 November—08 November

2

Step 2

Подготовка сервера, настройка.

08 November—08 November

3

Step 3

Подготовка среды разработки на двух ОС

08 November—08 November

4

Step 4

Категории

08 November—08 November

5

Step 5

Состояния публикации

08 November—08 November

6

Step 6

Теги

08 November—08 November

7

Step 7

Посты

08 November—08 November

8

Step 8

Настройка автоматического развертывания

08 November—08 November

9

Step 9

Комментарии

08 November—08 November

10

Step 10

Аутентификация, авторизация

08 November—08 November

11

Step 11

Проработка дизайна

08 November—08 November

12

Step 12

Разметка постов в Markdown

13

Step 13

Подписка на новые посты

08 November 2014 24 March 2015
The goal is overdue by 3536 days

Goal abandoned

The author does not write in the goal 9 years 8 months 2 days

Goal author

Cema

Russia, Москва

9 years old

Equipment & Technologies

Свой блог на Ruby on Rails через BDD

За последнее время изучил большое количество материала по разработке на RoR, пришло время применять свои знания на практике.

В качестве первого приложения выступит простой технический блог. Разработку буду вести через поведение (BDD):

  1. Написание сценария - сценарий красный;
  2. Написание тестов - тесты красные;
  3. Написание кода - тесты зеленые;
  4. Возврат на п.2, пока сценарий не станет зеленым;
  5. Рефакторинг кода, тестов, сценариев;
  6. Возвращение на п.1, пока приложение не будет готово)

Итак, требования (список будет пополняться/изменяться):

  1. Один пользователь-администратор, OAuth для комментаторов;
  2. Посты в формате markdown;
  3. Создание постов в админ-панели;
  4. Загрузка готовых постов по FTP;
  5. Загрузка готовых постов через e-mail;
  6. Выделение кода в постах;
  7. Возможность вставки изображений;
  8. Категории постов;
  9. Теги;
  10. Комментарии;
  11. Состояния публикации постов;
  12. Полнотекстовый поиск;
  13. ?

Инструментарий:

ОС:

  • Windows 7
  • Ubuntu 14.10

Редактор:

Фреймворк:

Аутентификация, авторизация:

Тестирование:

  • Cucumber - тестирование через поведение
  • RSpec - тестирование
  • FactoryGirl - фабрики
  • Capybara - тестирование интерфейса
  • SimpleCov - покрытие кода тестами
  • Guard - непрерывное тестирование
  • Spork - предзагрузка на Windows
  • Spring- предзагрузка на Linux

Чистота кода:

Развертывание:

Другое:

  • Markup - формирование постов из Markdown
  • Semantic UI - frontend-фреймворк

 Goal Accomplishment Criteria

Блог развернут и функционирует

  1. Поиск хостинга проекта

    Нужен бесплатный хостинг под Ruby on Rails с возможностью обращения к файловой системе по FTP.

    Платный VPS от Time-Host. Планирую позже переехать на heroku + amazon s3.

    Step cost — 3.81 $

  2. Подготовка сервера, настройка.

    Nginx+Passenger, Nodejs, Git, RVM, Ruby. БД - SQLite.

  3. Подготовка среды разработки на двух ОС

    Необходимо развернуть среду разработки, настроить все инструменты, создать репозиторий. За одно хочу попробовать разработку на Linux и Windows, оценив совместимость проекта на этих ОС.

    Репозиторий: GitHub

  4. Категории

    Категории статей - классический CRUD ресурс.

  5. Состояния публикации

    Состояния - также классический CRUD ресурс, ничего необычного.

  6. Теги

    Теги - классический CRUD ресурс, все по аналогии.

  7. Посты

    Посты должны иметь:

    • Заголовок;
    • Содержание:
      • Текст;
      • Изображения;
      • Код;
    • Дату публикации;
    • Категорию (1);
    • Теги (0+);
    • Состояние (1);
  8. Настройка автоматического развертывания

    Настроить SSH-ключи, Capistrano.

  9. Комментарии

  10. Аутентификация, авторизация

  11. Проработка дизайна

    Этот этап должен выполняться на протяжении всего проекта

  12. Разметка постов в Markdown

    Любой должен иметь возможность получать новые посты по email.

  13. Подписка на новые посты

  • 3724
  • 08 November 2014, 13:39
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?