ForumTest - ATProto forum built with ESAV#
its an atproto forum built with ESAV, an elasticsearch-based configurable generic appview.
this project explores how far you can push ESAV as a backend with a example product (this forum atproto forum test thing). everything goes through ESAV, except for identity resolution, i have a deno deploy app that i use and share across multiple projects (is used in red dwarf too)
i havent enabled a CDN yet so currently all images load using getBlob
Live at: https://forumtest.whey.party
Discuss at: https://forumtest.whey.party/f/@forumtest.whey.party
ESAV config#
custom record types:
"record_types": [
"party.whey.ft.topic.post",
"party.whey.ft.topic.reaction",
"party.whey.ft.topic.moderation",
"party.whey.ft.forum.definition",
"party.whey.ft.forum.layout",
"party.whey.ft.forum.request",
"party.whey.ft.forum.accept",
"party.whey.ft.forum.category"
],
custom indexes:
"index_fields": {
"party.whey.ft.topic.reaction": {
"subject": {
"id": "reactionSubject",
"type": "keyword"
},
"reactionEmoji": {
"id": "reactionEmoji",
"type": "keyword"
}
},
"party.whey.ft.topic.post": {
"text": {
"id": "text",
"type": "text"
},
"title": {
"id": "title",
"type": "text"
},
"reply.root.uri": {
"id": "root",
"type": "keyword"
},
"reply.parent.uri": {
"id": "parent",
"type": "keyword"
},
"forum": {
"id": "forum",
"type": "keyword"
}
},
"party.whey.ft.forum.definition": {
"description": {
"id": "description",
"type": "text"
},
"displayName": {
"id": "displayName",
"type": "text"
}
}
}