H
H
hailsatan2019-01-20 23:34:26
Java
hailsatan, 2019-01-20 23:34:26

What technologies to choose for imageboards in Java?

You need to write a client-server application in Java - an imageboard . Please help me with the choice of technologies/solutions. What to read about, what to look at, what to use?
The client is a desktop application.
There are four "boards" (or channels, or chat - as you prefer) where absolutely any user can write a message.
Users register by entering only a nickname (I came up with a unique nickname, composed a password - welcome).
To make it more convenient to imagine, outwardly this business will look like a regular messenger, where contacts are not users, but boards - some kind of global general chats.
Any message hangs on the board for a day (after which it is deleted without a trace).
For reading, the client loads only the N latest messages (loads the rest when scrolling).
Everything is clear with GUI.
I know about RabbitMQ, but I’m not sure if it’s worth using it: in the future there will be more boards, each will have its own moderator who deletes unwanted messages, some boards will store messages “forever”, likes / dislikes will be added to messages, etc.
In other words, when I think about using a message broker, I think: "Will it be possible to do all sorts of things with it .?" Rabbit stores messages in queues, is it convenient enough to work with messages stored this way?
It seems like it will be a forum, but on the other hand, as planned, it should be very dynamic and constantly updated with new messages + messages will be short (in order to save bukaf on the planet). And it starts to look like a messenger, although it's still not him. Very similar to the channels in tg. That's why I suffer: do it as a messenger, use some kind of JMS solution, or somehow write messages to the database indicating the board id, then make sql queries and show the results to users?
In general, something is somehow clear somewhere, but in fact nothing is clear.
Advise something, please!

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexey Cheremisin, 2019-01-21
@hailsatan

In my opinion, something like redis is well suited here, it’s just possible to invalidate messages by timeout, and rank them by choosing the necessary message keys. There are plenty of clients for real, make the server on web sockets. You can traditionally use tomcat or servlets, or take something like jooby or sparkjava as a framework server.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question