OnePlace is a web-application built on Steem and Golos blockchains. As a basis we took Vue.js with SSR module for frontend and LoopBack for backend. Our project is fully open-source under MIT license.
Technology stack: Node.js, Vue.js, Loopback, Redis, MySQL
Website: https://oneplace.media
Latest release on Github • Installation guide
Our posting editor was developed specially for OnePlace on the basis of open-source SimpleMDE Markdown Editor. SimpleMDE was chosen due to its ability to handle both html and markdown formatting and built-in fullscreen preview option featuring two panel layout with code and preview panels. This was one of our basic requirements for the editor, since we wanted to avoid scrolling up and down to check post preview and edit, then check again and edit etc.
const MAX_UPLOAD_SIZE = 4 * 1024 * 1024const MAX_UPLOAD_SIZE_GIF = 20 * 1024 * 1024const MAX_IMAGE_WIDTH = 1680const MAX_IMAGE_HEIGHT = 1200While basic formatting of Steem posts is based on markdown, advanced styling that includes html can be used to format images and text layout. We do not believe that everyone must know html, and besides even advanced users get tired of copying and pasting elements manually, so we decided to extend formatting functionality and add html elements for aligning text and images. This was implemented by attaching a formatting dropdown menu in the editor toolbar.
This menu allows to add <center> for centering text or image, <div class="text-justify"> for justified text, as well as <div class="pull-left"> and <div class="pull-right"> that align images or text block to one half of the screen. Also text indentation and horizontal line elements can be added here.
Last but not the least comes the possibility to save post drafts. While SimpleMDE already had autosaving feature we added ability to save and manage multiple drafts with the Drafts menu. Before publishing the user has to add at least one category tag and select payout preferences in the Publish menu.
Now it is possible to transfer posting permission to application using a trusted 3rd party intermediary SteemConnect. The users are then redirected back to confirm account access. More info: How to add accounts with SteemConnect.
If you would like to contribute please contact @ubik in SteemDevs Chat or just comment on this post.