# Full text search The pg_search Ruby gem is used for full-text searched in Rails. See: https://github.com/Casecommons/pg_search Reformatted SQL query for fulltext search: SELECT COUNT(*) FROM "packages" WHERE ( ( ( to_tsvector('simple', coalesce("packages"."name"::text, '')) || to_tsvector('simple', coalesce("packages"."description"::text, '')) || to_tsvector('simple', coalesce("packages"."long_description"::text, '')) ) @@ ( to_tsquery('simple', '''' || 'browser' || ' ''') ) ) ) # Index: CREATE INDEX packages_gin ON packages USING GIN( (to_tsvector('simple', coalesce("packages"."name"::text, '')) || to_tsvector('simple', coalesce("packages"."description"::text, '')) || to_tsvector('simple', coalesce("packages"."long_description"::text, ''))) ); --------- Used: https://github.com/semaperepelitsa/jquery.fileupload-rails Which is a gem for: https://github.com/blueimp/jQuery-File-Upload Paperclip for attachment/screenshot file handlind within ActiveRecord https://github.com/thoughtbot/paperclip -- Components: - Rails 5 (widespread, up-to-date, solves many common problems) - PostgreSQL (fast, easy, I don't like MySQL, good fulltext search) - Git (most people nowadays use Git) - jQuery (well known and easy to use) - Zurb Foundation (integrates nicer than Twitter Bootstrap) - Guard for automated testing (http://www.rubydoc.info/gems/guard-rails) -- Importer How Debian repositories are organized: https://wiki.debian.org/RepositoryFormat -- Logging from within the application into the database's "log" table: Log.log "foo" or with section (default='frontend'): Log.log "foo", "importer"