Open vinicius-sacramento opened 1 month ago
@steinerkelvin @EdSDR @PsicoThePato
As discussed earlier today on Discord, here are the changes.
Users must have a minimum number of stakes/comais to vote. (This value needs further discussion.) ~Perhaps the same rule should apply to comments?~
Cadre members will no longer be allowed to control the network, and their ability to delete posts or comments will be removed.
We need the ability to create new roles, such as "Admin" or similar.
The "pin order" feature will be removed.
We need to include the title
field in the list of Post fields.
Quick Update:
We need to also provide a checkbox to allow the user to post it anonymously.
Project Overview
Inspiration
This project draws inspiration from the Hacker News website, offering features like the ability to "submit external posts or content." Users can share articles, posts, or updates they've published on social media or personal blogs with the community.
However, we're aiming to take it a step further. In addition to the classic Hacker News-style interface, we plan to introduce new and more user-friendly features. Users will be able to create original posts directly on our platform, similar to creating a proposal.
Think of it as a fusion of the Hacker News format with enhanced governance features, offering a more dynamic and interactive experience.
User Stories
Authentication (Implemented via
AuthRoutes
in./packages/api
)Posts (Similar to proposals)
Categories
Voting (Similar to proposal comments)
Comments (Similar to proposal comments)
Viewing and Tracking
Entities
1. User
Fields:
walletAddress
(String, Primary Key): The user's Polkadot wallet address.role
(Enum): User role, either'Regular'
or'Admin'
.Notes:
2. Session (Handled by
AuthRoutes
)3. Category
Fields:
id
(UUID, Primary Key): Unique identifier for the category.name
(String): Name of the category.description
(String, optional): Description of the category.Notes:
4. Post
Fields:
id
(UUID, Primary Key): Unique identifier for the post.authorWalletAddress
(String, Foreign Key to User): The author's wallet address.title
(String): Title of the post.content
(String): Markdown content or URL to an external link.pinned
(Boolean): Indicates if the post is pinned.createdAt
(DateTime): Timestamp when the post was created.updatedAt
(DateTime): Timestamp when the post was last updated.deletedAt
(DateTime, nullable): Timestamp when the post was deleted.Associations:
5. Comment
id
(UUID, Primary Key): Unique identifier for the comment.postId
(UUID, Foreign Key to Post): The ID of the associated post.authorWalletAddress
(String, Foreign Key to User): The comment author's wallet address.content
(String): Content in plaintext, Markdown, or possibly an external URL.createdAt
(DateTime): Timestamp when the comment was created.updatedAt
(DateTime): Timestamp when the comment was last updated.deletedAt
(DateTime, nullable): Timestamp when the comment was deleted.To Be Defined
Roadmap
As users become more engaged with the platform, we plan to introduce additional features:
And many more exciting features to enhance user experience.