deovandski / fakktion Goto Github PK
View Code? Open in Web Editor NEWThe Fakktion Blog: Prototype of a blogging application that uses relational design
License: MIT License
The Fakktion Blog: Prototype of a blogging application that uses relational design
License: MIT License
To be reviewed later...
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
Planned work for Rails:
Things to do for v0.9:
Attained at 500 Reputation. 2x the voting score
Attained at 1500 Reputation. 3x the voting score, and can edit tags.
Attained at 3000 Reputation. 4x the voting score, can edit tags, and delete resources with no dependencies.
Things to cover:
Keep tabs on rails-api/active_model_serializers#933
And see if it merges with https://guides.emberjs.com/v2.3.0/models/creating-updating-and-deleting-records/#toc_handling-validation-errors
Devise Recoverable will not be implemented since Fakktion will not use email capabilities. Therefore, a different implementation will be used.
#3 Words Password Recovery system.
Flow:
4a. Replace Database password for this user with random 8 integers one
4a1. XHR 200 Response is sent with (email, resetPassword and the 3 words as nil.)
4a2. Alert User of new Password, and to immediately change it when logging in.
4b. XHR 403 Response
4b1. Alert User that one or more of the inputs are wrong.
Drop Usage of the current alert(), and instead make use of banners with warning and/or tooltips over the button where the request was made from with the exact error from server.
(New stands for things posted since user last-sign in date):
New inner comments of a comment.
New comments of a post
Security issue from Hakiri: protect_from_forgery should be configured with 'with: :exception' in app/controllers/application_controller.rb
Fakktion frontend will now be locked with Ember CLI 2.6.0 dependencies. and Node.js will be locked at v5.10.1
Ember-data, Qunit and Ember-cli-blanket were not up to speed and caused deprecations warning upon initial startup (Output below.) However, Fakktion was still working even with a few Render Model param deprecation warnings.
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` Ember CLI QUnit
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` Ember CLI Blanket
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` ember-data
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` ember-cli-dependency-checker
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` ember-cli-jshint
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` loader.js
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` ember-cli-rails-addon
at Function.Addon.lookup (/home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/addon.js:896:27)
DEPRECATION: Overriding init without calling this._super is deprecated. Please call `this._super.init && this._super.init.apply(this, arguments);` release
at /home/deovandski/Fakktion/frontend/node_modules/ember-cli/lib/models/project.js:404:38
Fakktion Frontend needs to be compliant with Deprecations introduced on 2.7+ in order for it to be ready for Ember.js 3.0
The idea for this feature would be for admin users to communicate with other users through application wide messages where all users can see them.
Checks initiated for Admin Messages
Ubuntu Deployment:
Planned work for Ember.js:
Planned Work for EmberCLI:
Previous implementations described on Work History.
In order to prevent brute force attacks, ReCaptcha on Login form is a must.
Other Deletion checks that will not be implemented
Checks that would be fulfilled:
Ubuntu release checks:
Implement Pagination System for extreme scale up of posts on index and possible for tags management pages as well.
https://github.com/mharris717/ember-cli-pagination
Comment and Inner comment implementation could use something in the lines of infinite scroll capabilities? Or this feature could be also used on the previous stated resources as well for the sake of repetition.
Possible classe structure:
vote box
For each comment, display counters N and M based on current dimensional array being looped through?
Loading template customized for each CM or ICM? or inherit from Application?
Work Done on the closing commit:
Noticed on Checkpoint 8 committed on 3/30/16. Devise sign in always responds with the same user upon signin even if there are other credentials...
Root cause unknown. Ideas to investigate:
Stuff left to do regarding Post filtering:
Force the following to be default when creating a User:
is the following being checked against?
this.route('users', function(){
this.route('create');
});
this.route('user', { path:'user/:user_id' }, function() {
this.route('edit');
this.route('posts'); // view all posts by x User
this.route('comments'); // View all Comments by x User
});
this.route('adminMessages', function(){
this.route('create');
});
this.route('adminMessage', { path:'adminMessage/:admin_message_id' }, function() {
this.route('edit');
});
this.route('posts', function(){
this.route('create');
});
this.route('post', { path:'post/:post_id' }, function() {
this.route('edit');
this.route('comments', function(){
this.route('create');
});
this.route('comment', { path:'comment/:comment_id' }, function() {
this.route('innerComments', function(){
this.route('create');
});
this.route('innerComment', { path:'innerComment/:inner_comment_id' }, function() {
});
});
});
this.route('genres', function(){
this.route('create');
});
this.route('genre', { path:'genre/:genre_id' }, function() {
this.route('edit');
});
this.route('factTypes', function(){
this.route('create');
});
this.route('factType', { path:'factType/:factType_id' }, function() {
this.route('edit');
});
this.route('topics', function(){
this.route('create');
});
this.route('topic', { path:'topic/:topic_id' }, function() {
this.route('edit');
});
this.route('categories', function(){
this.route('create');
});
this.route('category', { path:'category/:category_id' }, function() {
this.route('edit');
});
Instead of using workers, or relying on period bans, the new system will solely rely on User reputation.
Applications that pass unverified user input to the render method in a controller or a view may be vulnerable to a code injection.
An attacker could use the request parameters to coerce the controller to execute arbitrary ruby code.
Affected versions: 3.2.x, 4.0.x, 4.1.x, 4.2.x
Not affected: 5.x
Fixed versions: 3.2.22.2, 4.1.14.2, 4.2.5.2
Identifier: CVE-2016-2098
Solution: Upgrade to latest or use workaround; see provided link.
Credit: Tobias Kraze from makandra and Joernchen of Phenoelit
Source: https://groups.google.com/forum/#!topic/ruby-security-ann/ly-IH-fxr_Q
Planned Work for AMS implementation:
Planned Work for Ember Data implementation:
Follow up on #12 as I prepare to close #14. soft_delete is a requirement as is_banned alongside times_banned is not the best route to find if the user is currently banned or if the user requested the deletion of his/ her account.
Using soft_delete will allow the display of "Account deactivated" rather easily. Also, soft_delete will allow the user to reactivate the account rather easily. Hard delete could be done with a user shim that display deleted account instead of upgrading the system to handle such event...
Security issue from Hakiri: There is a possible XSS vulnerability in Action View. Text declared as
Security issue from Hakiri: Nokogiri is affected by series of vulnerabilities in libxml2 and libxslt, which are libraries Nokogiri depends on. It was discovered that libxml2 and libxslt incorrectly handled certain malformed documents, which can allow malicious users to cause issues ranging from denial of service to remote code execution attacks. For more...
Change page titles as user enter certain resources such as posts or routes.
ember-cli-document-title is the way to go if this would be ever implemented
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.