When it comes to a foundational starting base for developing Steem applications, it's hard to look past busy.org which has one of the best UI's for the Steem blockchain and it is well-coded and organised, offering up their client-side ReactJS code on Github here.
While I have worked with React and have nothing personally against it, I do find React and Redux to be quite overbearing. I am a member of the Aurelia Javascript Framework core team and naturally, I was looking for a starting base built with Aurelia instead of React.
Steem is still in its infancy stage, so the only way an Aurelia based Steem application was going to exist is if I put on my open source gloves and made one myself.
So, that's what I did...
Admittedly, it is still early days, but the aim is to create a starting base for those seeking a well-architected UI for working with the Steem blockchain. My intentions are also self-serving in some respects, as it provides me with the ideal starting point for any Steem applications I plan on building.
At the moment the code isn't in a state where I would use it for new projects, but the goal is to achieve feature parity with Busy.org and Steemit.com in the next month or two. The codebase will be intentionally simple and easy to understand, with documentation and unit testing.
The motivation for this was providing developers with a choice of another foundational starting base for Steem applications, but free from being tethered to an existing platform or project.
While Busy.org is great, it's very much styled and built to the feature-list and standards of the busy.org team. If you want to build an application with it, you have to remove and restyle quite a bit to suit your needs. Think of Aurelia Steem as a framework for building Steem applications, a blank canvas.
The documentation for the Steem Javascript library is also difficult for newcomers and missing certain features and parameters, so wrappers around existing API methods have been provided and the application will serve as a reference in how to use certain Steem functions.
Features
- Written in TypeScript using modern ECMAScript 2015+ features (and polyfills where needed)
- Uses Aurelia Store (which wraps RxJS) for state management providing a powerful state management solution comparable in simplicity with MobX or VueX. Also compatible with Redux developer tools, so you can debug your state in Chrome or Firefox
- Webpack 4 for build/module bundling/asset management
- Code splitting on a route level. Each route is split into a separate bundle, reducing overall application size and eliminating wasted bandwidth
- Clean separation of concerns (services, UI components, common components, assets)
- Unit testing and end-to-end tests
Get the code on Github
In the spirit of open source, a repository can be found here which will be regularly updated with new functionality and features where time permits. Read the documentation to understand how the application should be run.
Thank you for your contribution. This project is big. Really looking forward to the actual online frontend.
Your contribution has been evaluated according to Utopian rules and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post,Click here
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Thank you @justyy - still early days, but I have progressed the codebase to the point where it has routing, fetching data using state management and today or tomorrow will hopefully support transaction-based actions such as voting, claiming balances, sending funds from a wallet and so on. It might be a couple of weeks away, but I am planning on achieving parity with busy.org way ahead of schedule on this one if nothing gets in my way. I am also integrating Steem Connect support and a few other niceities for developers.
Hey @beggars
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!
Thank you @utopian-io great initiative and this is only the start of many planned open source contributions, many of them involving Steem blockchain projects as well. It has been an enjoyable and motivating experience so far.
That’s awesome @beggars! I’m not a coder, so I only understand this at a high level - but I think it’ll be really good for all of us if developers have more options.
Congratulations @beggars! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You published 4 posts in one day
Click on any badge to view your own Board of Honor on SteemitBoard.
To support your work, I also upvoted your post!
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Very cool!
As someone getting started in blockchain development this is a resource that I may use in the future.
Do you have any advice regarding communities I should join to find like-minded (dev oriented) steemians?
Thanks!