Native Ads Weekly Update #1

in #hive4 years ago (edited)

This week I published the first ever "code commits" for this project. It took me about 2 months to get to this point. What took me so long? Before writing any code, I had to learn how Hivemind works, so I spent the better part of the last two months doing so. (in my free time)

... And I am still learning.

Hivemind is intricately designed :)

I also made a Steem Proposal for this project two days ago, you can find it here:

Steem Proposal: Native Ads for Hivemind Communities


hive_ads table

In Hivemind's database, this table will be the primary data source for the whole system. New entries are made when valid posts are put on the blockchain, within a particular community. From those posts, we get the type, properties and time_units fields.

There are also other fields that will be used to maintain ad state, for example status will be used to track the ad's status (draft, submitted for review, approved, etc) as it is defined/set by actions of ad creators or community mods.

Here's the schema, as of now:

post_id integer PRIMARY KEY
community_id integer NOT NULL
type varchar(16) NOT NULL
properties text NOT NULL
time_units integer NOT NULL
start_time timestamp
status smallint NOT NULL DEFAULT 0
mod_notes varchar(500) DEFAULT ''

the code

So I made a few commits to implement the capture of valid native ad posts in Hivemind. The notable ones are:

You can see all the latest commits here.

updated docs

I also updated the docs to reflect the status of this project and some new methods that I am still developing (the code is not yet published).

  • A new "ordered flow" concept to record how an ad's status evolves over time as different actions are taken by creators and mods.

  • Universal rules for valid ad entries

  • Improved ad type descriptions


A new week begins. Back to coding :)

If you've got questions or feedback, feel free to leave a comment below.



See my current branches on GitHub:

https://github.com/imwatsi/hivemind/branches