At first, I wanted to create an editor only for myself. I needed a tool which would enable to edit all of the options that Steem blockchain gives us. Then we have temporarily lost a Utopian frontend. That was the breaking point - I decided to create an open source tool which would also help Utopian contributors. Say hello to Steeditor!
Repository
https://github.com/jakipatryk/steeditor
What is Steeditor?
Steeditor is an editor which enables to add posts to the Steem blockchain. Nothing special, right? Well, yes, but there are several properties that make Steeditor unique. First of all, it lets you change every possible property of the post. Well, except one (allow_votes
), but it's temporary and will be available as soon as the bug with SteemConnect is fixed.
Did you know that you can share the post reward with anyone (via beneficiaries)? Or that you can set a maximum accepted payout for a post? Or that you can set up a custom thumbnail for a post that will not be shown in the post body? This is a great opportunity to learn stuff.
Steeditor also helps in managing drafts. Once you create a draft (using, for example, a Utopian development contribution template) it will be stored locally on your device (in the IndexedDB). This feature combined with a service worker lets you manage your drafts even without the internet connection! All you have to do is to visit the app once and later (as long as you don't want to send the post to the blockchain) you will be able to use it anywhere, even in places where the internet connection is poor or unavailable!
Utopian templates
As I'm going to point out at the end of this post, the templates are on the roadmap for the beta release. I mean the templates that you will be able to create on your own. For now, I've added this functionality with hardcoded Utopian contribution templates! You simply have to select the one that interests you while creating a new draft!
By default, when you create the draft via one of the Utopian's templates, there is a beneficiary account set up - utopian.pay (15%), but it's up to you whether you keep it or not. Remember - the fact that Utopian frontend is not working at the moment doesn't mean the community isn't active! You can still contribute using any interface - Busy, Strimi, Steemit, or... Steeditor ;)
Technology stack
The project is a prototype at the moment. Although, I tried to use technology stack that wouldn't require big changes for the application to scale.
The framework I used is Angular with containers/components architecture. For the state management, I used ngrx (store, store-devtools, effects and routers-store). The authentication is done with the SteemConnect service and ngx-cookie to easily manage the access_token
cookie. In addition to that, I used IndexedDB Promised to work with drafts in the IndexedDB. The component library I've chosen is well-known material design library Angular Material.
Roadmap (to beta)
High priority:
- unit and integration tests
- code refactoring
- CI
- manifest.json which will enable to add the app to the device's home screen
- the templates creation flow
- upgrade to Angular 6
Medium priority:
- UI/UX improvements
- post preview
- editing posts
Low priority:
- e2e tests
Contributing
Do you want to contribute? Contact me on Discord (jakipatryk#1263) or Steem.chat (jakipatryk).
Proof of Work Done
You can easily find my profile on Github because I use the same name on Steem and Github: https://github.com/jakipatryk