This is transient file that lists functionalities to be implemented before first major release. everything related to posts: - single post view - post content - post tags - number of tag usages - basic information - uploader's picture - remember about support for anonymous uploads - safety - source - image dimensions - time of last edit - time of upload - time of last feature - how many times the post was featured - download - permalink - delete - feature - fav - score (see notes about scoring) - editing - tags - source - safety - content - thumb - relations - ability to loop video posts - post edit history (think http://konachan.com/history?search=post%3A188614) - relations - previous and next post (difficult) - remember last search - take care of pages - add A/D hotkeys - hiding posts - link to iqdb and/or tineye - featured posts - ability to feature the post - show the post on main page - tag list - uploader - random post - regard safety settings - ability to paste many urls in post upload - post listing - better thumbnail loading - content type indicators (try to use CSS) - fav count - score - comment count - regard safety settings - add warning if no posts were found - search filters - tag - -tag - submit:rr- - comment:rr- - comment: 3..5 - fav:rr- - fav:3..5 - score:3..5 - tag:3..5 - date:today - date:yesterday - date:yyyy[-mm[-dd]]..yyyy[-mm[-dd]] - filesize:3K..5M - imgsize:huge/large/medium/small - id:3,4,5 - hash:postName - type:img/flash/yt/video - special:liked - special:disliked - special:fav - special:hidden - search order - order:id - order:date - order:score - order:comments - order:favs - order:tags - order:commentdate - order:favdate - order:filesize - order:random (at least unstable version) - safe/sketchy/unsafe buttons and top navigation search goes to post list presenter everything related to users: - banning - show link to user's uploads - show link to user's favs - show link to user's liked posts - better avatar loading everything related to tags: - tag listing - tag autocompletion (difficult) - time of last tag usage - time of tag addition - mass tag - tag merging - editing tags - tag relations - tag aliases - tag categories (from config.ini) - tag descriptions - tag edit history everything related to comments: - adding comments - listing comments in post view - listing comments in comment list view - deleting - editing - markdown - score (see notes about scoring) refactors: - post view proxy should retrieve full user - centralize markdown prefix decorators - add enum validation in IValidatables (needs refactors of enums and possible disposal of EnumHelper in favor of something more subtle) - (idea) keep denormalized data in separate tables, i.e. tag usages in tag_meta or post favorite count in post_meta, so that it's obvious what can be recalculated on demand and what is real data - change AbstractSearchService to AbstractSearchParser - embed AbstractSearchService into Dao (it sucks to include XSearchService together with Dao) - simplify template loading in presenters - right now template loading requires _, util and promise: promise.wait(util.loadTemplate('blah')) .then(function(html) { template = _.template(html); }); - move content spinner code to separate module - it makes little sense for individual presenters to use PresenterManager miscellaneous: - add customizable favicon - add customizable logo - add log engine and log everything that should be logged - I don't think browsing online logs is very necessary - add help, api documentation - add version on homepage that reads version from package.json and git hash - make script faster, right now every request to backend takes 200ms (current suspect: dependency injector and sqlite) - add tool for migrating szurubooru database - endless pager should include information about page number - add README and INSTALL - apache2 has good README: http://svn.apache.org/repos/asf/httpd/httpd/trunk/README remember to mention mod_mime_magic - add spinner to forms such as registration, user query, login, settings etc. make sure the code isn't too duplicated. notes about scoring: - anonymous users should be able to score posts - anonymous users should be able to revoke and correct their scores - it should be difficult to score post repeatedly (add protection in local storage, anything more is probably an overkill) - scored of authorized users should be persisted into database so it can be searched for with special:liked and special:disliked some day: - configure mails and ensure it works with gmail