KURE Development Update 7 - Now Online!, with Individual Community Group Pages to View and Join Communities

in utopian-io •  11 months ago  (edited)

KURE is online! Another week gone by and some more coding done on KURE, the curation community platform I'm developing. Last weekend I put KURE online, available for some to test out, whom I sent the link to. If you would like to try it out, please go to thekure.net.

There is a lot left to do, mind you (0voting, viewing content 100%, comments, posting, etc), but at least you can create communities, add links as curated posts, browse content on Steem to add to a community, add other people to your community directly, request to join a community, and approve requests to join. You can coordinate with others to build a community around a topic, not simply anything you vote for.

Since last week, I added a page to view other communities so that the posts and users in it can be seen. Previously, this was only visible from the Manage section for Members of communities. I also fixed up various bugs that prevented data from loading and changed where you can join a group to the individual community page that I added. It was more a head-scratching and banging week of fixing things and getting the site online :/


Repository

https://github.com/KrNel/kure


Index

  1. What is KURE?
  2. New Features
    2.1 Individual Community Group Pages
  3. Other Changes/Improvements
    3.1 'Join' requests moved to per-group pages
  4. Bug and Other Fixes
    4.1 Spinner / no data when logging out after a page refresh
    4.2 Page error on looking for non-existent group
    4.3 Join Requests and Users count not updating on Manage page
  5. Pull Request / Latest Commits
  6. Roadmap
  7. Contact

1. What is KURE?

Kindred United to Reward Everyone.

A Community Platform and Curation Network Remedy for Steem

Do you want to find content that other people really value, based on topics that interest you? How?

Upvotes don't do it, because so many upvotes come from autovoting, autobots, or curation trails. You don't know if a vote for content is done by a real person, or some automation. The content isn't being evaluated when it's automated.

Plus, you can upvote so many things, which can be unrelated.

Imagine a curation network where people are interacted through community groups to share and value content, and you can really see what they value globally through various communities that people organize and collaborate together to build.

KURE provides a network hub for people to create their own community groups for evaluating content to curate. It will also develop into communities to create posts within.

Create your own communities and have others join to contribute. Make up your own criteria. Manage who can add curation links to your community group. Anyone else can follow your community and engage.

My goal is to make content easier for everyone to find by all of us sharing the content we like trough communities. Others can find communities they are interested in and see what is being curated within that community to also support it with upvotes, resteems and comments.

Maybe you want to share what you value, and get others to see it or support it, but don't want to resteem it, or want more people to see it. On KURE, the community you create and those who are involve din it will popularize content you value and allow others to see it. Another way of thinking about it, is it's kind of like having a custom community feed, based on a community that engages in creating it, rather than just one person.


2. New Features

Video Demonstration


2.1 Individual Community Group Pages

Individual communities can now be viewed through their own page. This page grabs the data for the community, relative to the logged in user in order to know their access to the community. This determines if they joined it or not, and if they can or not.

All the posts that have been curated/added to the community are shown, with some stats such as Likes, Views and Rating (not yet developed). YOu also know who submitted it to the group, and when.

Below the Post section is the Members section. You can see the total number of members in the header, followed by the users in the group. the Role they have, and the date they Joined the group.

If you are a Member or other role/rank in the group, you see it displayed in the Membership area in the top right:

Visualized

If you're not in the community yet, you can Join it, by clicking a link in the top right:

This is calculated based on being logged in or not, and the access level you have. Joining a group puts you at level 100. If you're below 100 that means you're a member already, if at 100, then you can join the group with the link:

Code Snippet


3. Other Changes/Improvements


3.1 'Join' requests moved to per-group pages

Previously, the Join requests where implemented on the main Communities page.

But when I started to add the option in two places, the Newly Created in addition to where it already was in Recently Active, I had problems updating the status of the join request for one place only.

As such, I decided to move the Join requesting to the individual community pages that I was making. It's less quick to Join a group, since you now have to load the community page itself rather than click on Join from the Communities listing page. It just made things simpler for me. Maybe I'll bring it back to the COmmunities page in the future as well.


4. Bug Fixes


4.1 Spinner / no data when logging out after a page refresh

This was an annoying thing that took me a while to figure out how to correct properly. I thought I would have it one day, then I would do some more coding and do certain things, like refreshing and clicking, and notice the bug was happening in another case.

With Redux, I'm loading props from the connect() method to mapStateToProps. The user authentication data is then sent to the component. But, Redux is slow. It's not like passing the props in from the parent component where they are available immediately in `componentDidMount.

So I was ending up with empty user names and isAuth values defaulting to false since the props weren't received yet. I needed to check the user logged in with isAuth, and a user not logged in with (!isAuth && user === 'x') in order to get data called, along with a check in componentDidUpdate for when the previous user props changed to actually be the logged in user for database fetching of user related data.

But when doing a page refresh, then logging out immediately, none of the components were updating for the componentDidUpdate to check and fetch data. The csrf token was still in the Redux store, so I grabbed that as a way to check if someone just logged out and needs to get the data fetchced for them (csrf && !isAuth):


4.2 Page error on looking for non-existent group

One thing I hadn't thought to check for earlier was the non-existent communities being searched for, like say if you manually typed it in, or had the page for it open in one tab, and then deleted it in another, and refreshed the page int he first. This was crashing the app because I didn't perform a check for the empty object.

To fix this, I checked the returned data to make sure the object was there by looking for it any properties having a length. If there is no length, that means there is nothing in the object, i.e. a community group that doesn't exist.

I set the state variable notExists to true in that case:

Code Snippet

This then allowed a check in the render() section to return text saying "That group doesn't exist", rather than crashing the app ;) This is always a good thing, lol, to not have an app crash :)

Visualized


4.3 Join Requests and Users count not updating on Manage page

After I got everything working again, I went to make the video for this post with the new features demonstrated. But, one thing that wasn't working was the updating of the Users and Join Requests count. It's not a bug, but something that needed to be fixed.

This was done with a call to increment the user count on the previous onUserUpdate function, and create a new onJoinRequestUpdate function to handle reducing the Join Requests count by 1:

Code Snippet

Visualized


5. Pull Request / Latest Commits

PR #5


6. Roadmap

It took me the weekend to get the site online and working. That ate up a lot of time. Then I encountered a lot of issues and bugs when I was adding the individual community pages. With working 9:30h per day, I didn't move ahead as far as I wanted to this past week. I need to move ahead with posting actual content to the Steem blockchain now.

Working on:

  • Liking and rating submissions
  • Upvoting
  • Posting content to Steem (not just curation post submissions)
  • Posting comments
  • Posts submitted page
  • Infinite scroll
  • About page

7. Contact

If you want to contact me, you can reach me on Discord at https://discord.gg/ApUp4jJ, or email at [email protected]. I'm not really on steem.chat, but I think I get emails if you send me a message.


Thank you for your time, attention and support! I appreciate it!

Peace.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

This is a very interesting and cool project, which I can see a lot of people using. I personally use Reddit a lot, and honestly subreddits are a really great idea; having something like that on here would be great.

As for the code:

Overall this seems like a great project and a great update. I'm definitely looking forward to seeing how it is further developed!


Your contribution has been evaluated according to Utopian policies 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? Chat with us on Discord.

[utopian-moderator]

Thank you for the review and helpful tips! I'll change the commits, and will consider sprucing up the info on the pages. But, the table layout is convenient for repeating info in a more condensed way, which I like ;) But, other people may like things to look nicer and take more space hehe.

Thank you for your review, @amosbastian! Keep up the good work!

It was looking good when I was on it a few days ago. I liked that I could start to see posts from Steemit on it!
Is my opinion correct when I say this is sort of like a forum? Where you can organize posts and stuff? That’s what jumps out at me when I think of this in a big context.
I look forward to more development, thanks for working on it!

Posted using Partiko iOS

Thanks! :) A forum adds posts, and you can move them around. We can add posts, so you kinda similar ;) The table-like layout probabably helps it look like a forum too lol.

I created the Bread Bakers community. First observation: links to posts on the homepage don't work:
thekure_01.jpg

Also I'm wondering about the power that a user has. I could add someone and make them an owner. Can they refuse without logging in? What about a post author?

I'm suspecting you're still using your own database, is that correct? Would you consider storing the information also on the blockchain?

Finally, would you consider cooperating with Wise and the Wise Team to provide a group curation where anyone can dedicate some voting power of theirs for the group of dedicated curators?

Thanks,
@breadcentric

Ah shite! I recently put back steemit as the page to display posts, since my basic post view was not handling all posts correctly, and I guess I messed up the title view when I changed things. Sorry about that. I'll fix it now. Eventually, the info will go to the blockchain in custom json, yes. As for delegation, that will eventually also be included, but not for now. I still need to do other more basic things.

Thank you for the feedback and letting me know of errors. :)

Curated for #informationwar (by @Gregorypatrick)

Ways you can help the @informationwar!

  • Upvote this comment or Delegate Steem Power. 25 SP 50 SP 100 SP or Join the curation trail here.
  • Tutorials on all ways to support us and useful resources here

Hi @krnel!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

This post has been included in the latest edition of SoS Daily News - a digest of all you need to know about the State of Steem.

I have tried to google for the page, and found thekure.com. I wish I haven't had.

Hey, @krnel!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!