GithubHelp home page GithubHelp logo

board's Introduction

Master: Build Status Master Latest: Build Status Latest Commit

Dependency Status

Code Climate

Coveralls

githalytics.com alpha

Для работы полнотекстового поиска по объявлениям необходимо иметь запущенный ElasticSearch:

wget download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.4.deb
sudo dpkg -i elasticsearch-0.20.4.deb

Для работы resque необходимо установить redis https://gist.github.com/brow/1315952 Workers запускаются через foreman вместе с приложением. Для запуска front-end выполните resque-web в консоли

board's People

Contributors

vassilevsky avatar ilogm avatar monshq avatar girinad avatar diparshin avatar netdalek avatar istickz avatar

Stargazers

Alexey Elizarov avatar

Watchers

 avatar James Cloos avatar Alexey avatar Azat Nizametdinov avatar  avatar  avatar

board's Issues

Сделать поля id не null

Поля
item.seller_id
items_tags.item_id
items_tags.tag_id
messages.sender_id
messages.recipient_id
messages.item_id
photos.item_id
сделать not null

Хочу возможность переписки с продавцом

Чтобы купить именно то что мне нужно, я хочу возможность переписки с продавцом

Сценарий: Гость (не зерегистрированный пользователь)

Я нахожу интетесущющее меня объявление
Затем жму "связаться" с продавцом
Открывается форма написания сообщения
Затем я пишу сообщение и жму отправить
Тогда мне предлагается пройти регистрацию
После регистрации я вижу что сообщене отправлено

Сценарий: Пользователь

То же самое, но без регистрации

Сценарий: История переписки

В личном кабинете я вижу папки сообщений Входящие и Отправленные

Интегрировать в проект guard и spork

https://github.com/guard/guard
https://github.com/guard/guard-rspec
https://github.com/guard/guard-spork

https://github.com/sporkrb/spork

пример конфигурации guard:

guard 'spork', :rspec_env => { 'RAILS_ENV' => 'test' }, :wait => 60, :cucumber => false, :test_unit => false do
  watch('config/application.rb')
  watch('config/environment.rb')
  watch(%r{^config/environments/.+\.rb$})
  watch(%r{^config/initializers/.+\.rb$})
  watch('Gemfile')
  watch('Gemfile.lock')
  watch('spec/spec_helper.rb') { :rspec }
end

guard 'rspec', :cli => '--color --drb', :version => 2, :all_on_start => false, :all_after_pass => false do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^lib/(.+)\.rb$})                           { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch(%r{^spec/support/(.+)\.rb$})                  { "spec" }
  watch('spec/spec_helper.rb')                        { "spec" }
  watch('app/controllers/application_controller.rb')  { "spec/controllers" }
  watch(%r{^app/views/(.+)/.*\.(erb|haml)$})          { |m| "spec/controllers/#{m[1]}_controller_spec.rb" }
  watch('app/services/search_service.rb')             { "spec/services/search_service" }
end

Как только сделаешь - нужно будет рассказать что такое spork, как работает, какие неожиданности поджидают.

soft delete для Item

Добавить архивирование свзанных с Item сущностей (images, messages)

Soft delete of User

Нужно добавить возможность удаления юзера (метить как archived) с каскадным архивированием связанных моделей: Item, Message, Photo

Отправка email уведомлений о том что фотка забанена

From: #12

Думаю нужно отправлять email уведомление о том что фотка забанена. Кстати удалена и забанена - это видимо с точки зрения админа одно и то же в данном случае. Поэтому пусть просто банит, без удаления. Итого:

Отправлять email со ссылкой на забаненную фотку. В письме должен быть коментарий админа
Забаненную фотку видит только разместивший объявление
Пометка о том что фотка забанена - нужна.

Улучшить интеграцию с elastic

Сейчас используются возможности интеграции гема tire с моделями. Это годный способ для простых проектов, но в сложных лучше реализовывать поиск в виде отдельных сервисов. От tire нам нужен лишь DSL построения запросов.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.