Перенос сайта с PHP на Rails
Жертва: nickshaker.com
История: написан чуть более года назад, внутри все выглядит отвратительно и малоподдерживаемо. Никаких фреймворков, никаких баз данных, только говнокод, только хардкор.
Цель:
- Перенести сайт на Rails (MVC, все дела)
- Обновить алгоритмы создания имени
- Упорядочить используемые ресурсы (с хранения данных в файлах перейти к базе данных)
- Добавить свежий функционал (полноценная статистика на первых порах)
- Сделать редизайн
Что я получу в итоге:
- Сайт на удобной платформе
- Обновленный внешний вид
- Кучу опыта работы с Rails и другими гемами
- Повод для хвастовства
Критерий завершения
Работа завершена, в выводе приложен скриншот обновленного дизайна
-
Генерация имени
Первое и основное - сделать так, чтобы определенная страница отдавала случайное имя для определенной расы и пола. Такой своего рода локальный API.
-
Получение случайного имени по клику на кнопке
Один клик - один ник. Через AJAX.
-
Создание ресурсов игр
Контроллеры, вьюхи. Настройка урлов, чтобы они выглядели как /game/race, а не /game/1.
-
Импорт данных в SQLite
Написать алгоритм, который одним махом импортировал бы все слоги в базу данных. Импортировать.
-
Базовый дизайн
Получить от дизайнера макет, уточнить детали
-
Верстка дизайна
Сверстать макет в соответствии со всеми особенностями Rails
-
Создание статистики
Скаффолд для статистики, вывод некоторых базовых данных (количество, последние ники)
-
Безопасность
Нужно добавить авторизацию, а так же спрятать от посетителей ссылки на редактирование страниц.
Плюс надо добавить редиректы для служебных страниц и для страниц, которые сейчас являются целевыми (имеют расширение .php), чтобы поисковики, при публикации нового сайта на домене, не пугались и не теряли их (а значит, не лишали сайт траффика).
-
Уточнения по дизайну
Добавление мелких правок, шлифовка
-
Перенос базы с sqlite на postgres
-
Публикация приложения на сервер
Деплой готового сайта через Capistrano.
- 2953
- 24 апреля 2014, 02:48
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением