First of all, I’m very thrilled with the direction the DAO is heading and it’s rapid development so far.
I’m only in for a week or so and already feel engaged with the community
I thought a lot about how we could better organize the collection of analytics data.
@paulapivat did great work of collecting and providing data for twitter analytics and on chain treasury activity. Collecting all this data manually and keeping it up to date is a lot of work and prone to errors. So I think the best we can do is to gradually standardize and automate this process.
For this reason I created this topic to start a discussion about how we can approach this.
I’ve started to work on the base architecture for a typescript GraphQL API we can use as a basis.
@Devs Please take a look at this hello world example and tell me if you like the architecture so far and your ideas of how it can be improved: github link
I think I will flesh it out a bit more and then migrate it to the banklessDAO analytics repo soon.
Here are some things we need to discuss:
-
Where do we host the database server and api layer ?
I saw the community website is hosted on netlify. Do you think netlify is also the right choice for
hosting a db server (maybe a postgre docker container ?) and a graphql api?
If not, what should we use instead? -
We need to somehow manage access rights for write access to the db.
I think the most straightforward solution would be to integrate the forums account system.
If we’d have crawler bots to collect twitter data for example maybe they could get write access
to the db via the auth system we already have for the forum. -
What should we focus on first?
The marketing guild showed much interest in the twitter analytics, so I think this should be
the first effort we should focus on. Any ideas welcome.
Those are my thoughts so far but I do not have nearly enough experience to realize such a big project on my own. So I’m glad for any help and ideas you come up with. First I want to see if my ideas go into the right direction or if there are some better ways to approach this.