andrei0872 / decentdebates Goto Github PK
View Code? Open in Web Editor NEWA place where all sorts of topics are debated in a respectful and constructive manner.
A place where all sorts of topics are debated in a respectful and constructive manner.
❗ As opposed to a moderator, a user can review their ticket regardless of whether it has a moderator assigned to it.
socket.disconnect()
in removeUserFromRoom()
.env
filedocker-compose
db
folderPersonal conclusions:
References:
redux-toolkit
Later on.
The user should see the following:
Notes about the arguments:
User's actions:
In this board, a moderator should have the following lists:
Types of cards(tickets):
Notes about this page:
Technical considerations:
ticket
table and adds a new row in the debate
tableThis could be a good start for the report
table:
report:
- id
- ticket_id
- title
- content
- reporter_id
- reported_it
Argument:
After creating an argument, show a toaster which will let the user know that.
external_reference
tablenew-argument
: check serialization & deserialization/new-argument
does not have crtDebate
populatedRequired fields for:
const onFoo = () => {
const editorOrig = exportEditorContentRef.current?.getEditor();
if (!editorOrig) {
return;
}
// console.log(JSON.stringify(editorOrig.getEditorState()));
// return;
const editor = createEditor({ nodes: [LinkNode], namespace: 'decentdebates' });
editor.update(() => {
const root = $getRoot();
const t1 = $createTextNode('ANDREI');
const b1 = $createTextNode('BOLD');
b1.setFormat('bold');
const link = new LinkNode('https://andreigatej.dev');
link.append($createTextNode('my website'));
const p = $createParagraphNode();
p.append(t1, b1, link);
root.append(p);
editorOrig.update(() => {
const link = new LinkNode('https://andreigatej.dev');
const p = $createParagraphNode();
const b1 = $createTextNode('BOLD');
b1.setFormat('bold');
link.append(b1);
p.append(link);
$insertNodes([p]);
});
setTimeout(() => {
console.log(JSON.stringify(editor.getEditorState()));
}, 0);
});
}
There are 2 types of notifications:
On the left, pro arguments(greed bg), on the right, con arguments(red bg).
Notes about the arguments:
Notes about this page:
Card information:
❗
At this point, it is enough to only include debates as part of the moderator's activity.
boardList
Types of ongoing items:
Card information:
Could be implemented after #5 is done.
An admin should be able to see the reports and, if needed, ban certain users.
Technical details:
banned_user
table might be neededPrerequisites:
Drafts should be discussed by users and moderators via comments in a way similar to how it's done it Jira/Trello.
On this page, the latest debates will be shown.
In order to customise their feed, the user should be able to:
Irrespective of whether the user is authenticated or not, they can perform the above actions.
The only difference is that only the authenticated user can interact with the app(i.e. proposing a debate).
This is mainly for learning purposes.
When using foreign keys, Postgres doesn't automatically create indexes on them. Therefore, there could be some ways to optimize the DB overall.
Research:
An auth user & moderator should be able to communicate via comments.
They could communicate on:
The comments should be added when an item is inspected.
item: new argument, new debate.
Features:
item == new argument
: preview the addition of the new argument(will allow to see arguments and decide if the current one fits well.docker-compose
fileHere, the user should be able to see all the items. The layout could be made up of 2 card sliders:
Note: items = arguments/debates.
db
)Besides showing the selected tags, the user should be able to specify whether there should be an &&
or an ||
action between them.
include_tags
query on GET /debates
that will also return all the available tagsTags
component&&
and ||
into accountwhere
clauseThere should be a single stored procedure that:
username
or email
)When reviewing an argument draft, a moderator should be able to get a feeling for how the argument will fit in the debate. In order to achieve that, the moderator can click on an argument's card and be redirected to page where the addition of that argument is simulated.
From this page, a user/moderator can alter their details regarding:
CommentsLayout
component that accepts mainContent
(e.g. debate title, argument content) and renders the comments beneath the main contentComment
component at the end of the comments list so that a comment can be createdreply_to
to comments tablecreated_at
)ticketId
created_at
debate
to review
entitydocker-compose down -v
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.