[Steemia] - Application Updates
Steemia
Steemia is a social media application running over the Steem blockchain where creators and curators get paid for their effort of quality content. Steemia is aiming to be more than just a blog. Steemia is trying to be a Facebook-like application allowing its users to communicate easily through the application and the most important things, efficiently.
Changes Made
- Modify the info of the package.json
Information with authors and description of the app was added to the package.json file
- Sync all pages with the current logged in user
All pages were synced with the current logged in username so it can render the correct information instead of making another query in every single page
- Update post when a vote is emitted
When an user vote/unvote a post, this post is updated with the new rewards, votes count, and comments counts just in case someone else has commented the post in this moment. This is done by querying again the data and updating the values of the post with the http request. Also, this is done easily because each post is a separated component which can be manipulated separately from the rest
- Add vote button to comments and fix the style of big comments
Comments now have a vote button and its style was fixed for big comments coming out the screen. As the posts component, now the comment is a separated component to be able to execute actions in each one independently.
- Unsubscribe listener after closing a page to avoid memory leak
In some pages, we subscribe events according to some states of the app. Those events were never unsubscribed when the page is destroyed. Now, they are destroyed to avoid memory leaks.
- Independent provider for steemia and steem actions (partially done)
Steemia provider is used to replace the old steem provider used in the application. All the endpoints from Steemia are provided by Steepshot. Once all functions are migrated, the old steem provider will be deprecated and deleted. Also, a new provider was added to handle the broadcast actions in the blockchain. The idea of having two separated providers is to have an easy to maintain application.
- Move constants to a single file
Constants were hanging out in a lot of files. Imagine needing to edit some endpoints in all these files? Now, we just moved all of them to a separated file and import them accordingly.
- Fix lazyloading for most of the page and add priority of loading to them
Lazyloading of modules was fixed and now they have a priority order to load them making the app behave better
- Move the comment template for an independent component
Comment is now an independent component with its own actions independently for the rest of the comments list.
- Open pages without needing to close modals
Opening a page from a modal was not working correctly. They were opening behind the modal. As a workaround, the modal was closed before opening the page. Now, the pages are loaded in top of the modal keeping they both opened.
- Fix aspect ratio of rounded images
Rounded images were having a bad aspect ratio when the image was not 1:1. Now, by using the object-fit: cover; property of css, these images are displayed correctly.
- Util provider for repeated functions
Some of the common functions in the app were moved to an independent provider so they can be reused among the application.
- Cleanup of some of the code
A lot of code was not being used. Even though these code are removed by tree shaking after compilation, it is better to always remove them manually.
- Add indicators to determine whether there is not comments/posts (needs to be done for votes as well)
When an user opened the comments of a post, if the post does not have any comments, it showed nothing. Now, it shows an indicator telling the user that there is not any comment for this post. This was done as well for posts.
- Remove unused files and imports
A lot of imports were not used and some of the files were not in used. All of them were removed.
- Update dependencies
Lastly, dependencies from the application were updated to ensure the stability of the product.
Screenshots
Roadmap
Feel free to check our working dashboard. Even though we do not have yet an estimated launching date, you can make a guess based on the work done in the dashboard Steemia Dashboard
Contributions
As always, contributors are most than welcome to this project. If you want to contribute, feel free to fork Steemia Repo and send us a pull request.
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @jaysermendez I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 24 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.
I upvoted your contribution because to my mind your post is at least 22 SBD worth and should receive 46 votes. It's now up to the lovely Steemit community to make this come true.
I am
TrufflePig
, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!Have a nice day and sincerely yours,
TrufflePig
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Damn cool bro!!
Wkwkwkwkwkwk