Hive Hackathon- Introducing Raven

in #hackathonlast year (edited)

What is Raven

Raven is a platform that uses custom_json to make posts to allow for short form microblogging without cluttering up your feed. Short form content(while getting more tolerated) can still be seen as over-rewarded crap on the chain and trigger some downvotes for you. But what if you did this without any of the worries of downvotes from spam fighters? Or honestly, just make 10-20 posts a day and not worry about cluttering up the feeds of your followers? Then Raven is for you. Check it out at https://raven.dwg.wtf/.

Screen Shot 20200516 at 3.00.20 AM.png
My Baby Is Alive

I've had this idea for a while, using custom_json to make posts, and I saw this post and saw it actually being used, and that got me interested in doing that again. So later that night, I started the project.

I designed it so that anyone who wants to create something similar can easily take my code and work off that, and if they have little knowledge, it should be as simple as following a guide on how to setup with the config file(notice how my code has a field for title even though Raven doesn't use that). I talked to a friend, who would like to remain unnamed for now, about it, and was having problems with SQL, and with him being a SQL(and relational databases in general) god, he helped me set up the architecture for speed and scalability as I'd only been working with SQL(and relational databases) for just over 10 days at that point. That was Carrige(Yes I know its spelled wrong, I'll fix it someday): https://github.com/Rishi556/Carrige, Raven's backend.

Screen Shot 20200516 at 3.00.57 AM.png
We are calling posts Caw's

Now this is definitely a work in progress(the API has such a bad architecture to it, but gotta do what you gotta do to enter the hackathon in time). Theres so much more planned to this, including admin actions, which allow admins to delete posts(gotta comply with dmca right) as well as banning users(can only allow some spam through) but the MVP is just the ability to make posts, comments, modify them and vote on them.

So far Carrige has: root posts, comments, updating comments, deleting comments, upvotes, downvotes, and removal of votes. Just the bare minimum to be a social app. Each individual action can be enabled or disabled(so a user making their own platform can choose to disallow downvotes, or disallow comments, hell even root posts) to allow for customizability for those setting up their platforms. Carrige also has replay functionality. So if you accidentally mess up and lose your database, you can go back and get the old data back into the database.

Screen Shot 20200516 at 3.07.09 AM.png
This man knows what he's talking about

Tech Stack

The backend is built using Node.JS and MySQL as the database has some dependencies including:
@hivechain/hivejs- for easy activities on the hive blockchain
cors - For allowing cross origin requests
express - For the simple setup of a webserver that it has
moment - For easy time manipulation
mysql - To interact with the MySQL database

You can check out the code here: https://github.com/Rishi556/Carrige. Raven is running with a few of the configs disabled including downvoting and updating comments.

The frontend is built using PHP(and it was started with less than 15 hours of time left before the hackathon was over, so please excuse how bad it is, thanks @cadawg for helping with it) and it's dependencies include:
A Wild SteemConnect V2 Api Appears - HiveSigner Usage
bootstrap- Gotta look pretty
hivesigner- For those without keychain
hivekeychain- For those without hivesigner
jquery- For what it does# Header
popper- It makes bootstrap work
font awesome- Awesome Fonts And Images

The codebase for the frontend can be found here: https://github.com/Rishi556/Carrige/tree/master/interface.

You can view the live project here: https://raven.dwg.wtf/.

EDIT: I'll be continuing to work on the backend of this(thought not pushing it to production), and as there needed to be a freeze, I've created a branch with the final code submitted for the hackathon: https://github.com/Rishi556/Carrige/tree/hackathon-final.

Roadmap

There's quite a lot planned for this, as mentioned above. For now, focus is on the backend, as thats what I mostly work in. Some of the code can be improved and was written just to make it in the for the hackathon. But the major goals are to have admin_actions and a working trending as well sharing features ready by the end of the month.

Then some time will be spent working on a better UI(one that wasn't rushed), and finally working with the metadata field for tags, and a rewarding mechanism that will use hive-engine and then switch over to SMT when(if?) they come around. Updates will come about slowly but I want them to be as good as possible, and easy for anyone to take and start their own site with.

TLDR: https://raven.dwg.wtf/ On Raven, you can make short posts that don't show up on your feed.


Please note that the name and branding an UI are temporary and will most likely be changed(unless I can find a raven domain for cheap) as I originally wasn't planning on entering this hackathon, but everyone's favourite @moowoof decided to enter and so I had to show him up and enter myself too.

Sort:  

DUckk you rishi. I hope you win lol

Love you too moowoof.

 last year (edited)

Great use or the custom json!
Standalone apps can be build on this.

Love this. Saved for further exploration :)

Definitely, thats the hope. Someone can take the backend and customize it for their own app. Hell, technically I could give access to our current API and someone else can build another frontend off it.

I saw another similar app that was being built called dbuzz. This is awesome as well.

I was surprised to see so many people having similar ideas and acting on them at the same time. Only reason I most likely won't use them is because I have too many autovoters on me and so those posts will get unnecessary votes, and I won't feel right posting 10x a day there.

Well I quite dont know how autovote works, does that mean some people have programed to upvote whatever you post so that they can earn curation reward?

Yup, exactly that, or to support their favorite authors.

Looks like a great start. :)

Definitely is a start. It'll get around to being awesome soon enough.

Please excuse the mistakes on this post. This was written up as I was tired, working on code that I didn’t know was going to work or not, helping my UI guy with his issues and all while having server issues multiple times. Launch day is fun during crunch time right? I’ll fix them in the morning.

ho man, I can't wait for some more things on the UI. This is fun. It's going to be awesome!

Definitely. I really want to get notifications out soon. Would love to be able to see which of my posts have gotten comments and where I've been tagged. Soon enough though, soon enough.

Wow looks neat, a lot of people have concern about cluttering the blockchain because of the short content. We can use this to make a Twitter, still thinking how the up votes work here?

https://raven.dwg.wtf/ Thats Raven, like twitter :). Votes work like they do on regular sites. You don't get rewarded for them, but can vote for content that you like and enough votes will get them (once its completed) onto trending.

Yes, but I was thinking how can people monetize it. I had a thought, might be incorporated, that everyday top 10 highest voted posts will be added as a beneficiary to a post made to Give and thus best content will get reward

You and my unnamed advisor think alike. Until V1.0, I'm not too concerned about rewards since its more about the tech backing it for now. It was either that or Hive-Engine tokens.

Nice that my thinking is proposed to you, good luck. Will wait to see it in action.

You could implement a 'tip' function like Peakd has.

I've talked with cardboard and tips are coming. Will be using the tipu tip api as well, so no need for us to store tip data, we can just fetch from that.

So not raven the blockchain... raven an app?

So not raven the blockchain... raven an app?

Ravens a blockchain too?

yeah raven is a pretty cool blockchain actually. I think Hive and Raven are around the same market cap from time to time.

It basically is trying to be a mix of BTC and ETH.

  • unowned like BTC
  • Contracts like eth
  • Proof of work like btc but with algorithms that avoid asic abuse like BTC

Not sure how it's going these days but looked promising.

Cool stuff bro!

Thank you

I have very high hopes for Raven. I think its a diamond in the rough. Looking forward to using it and enhancing it 😉

Its definably going to become very enhanced

So will the caws appear in some parallel space or some shit?

Haha, they show up as custom_json operations on the chain. Same tech splinterlands uses.
Screen Shot 20200517 at 10.50.50 AM.png

Oh neat. I don't know much about Jason but I get it won't be clogging my timeline so you have my vote

Oh fuck yeah. Twitter for HIVE?

I support this. Well done Rishi. Some excellent work here man!

Thank you. Go make some tweets.

Congratulations @rishi556! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You got more than 4750 replies. Your next target is to reach 5000 replies.

You can view your badges on your board and compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Support the HiveBuzz project. Vote for our proposal!

Waooo this is really nice I hope to say something meaningful but am actually new here but I hope u will teach me in other to follow along and help vote for me as well thank u