I am developing a multiplayer chess app as a side project. The goal is really just to learn new stuff, especially where I am weak (I am a c++ UI dev + mobile app dev). In addition to just learning new stuff, I obviously want to learn relevant technologies going forward. I have no experience writing backend http/rest servers….it is completely foreign to me.

For the front end of my multiplayer chess app, I am using flutter. That much I am already settled on.

But I am not sure what I should use for the server side.

Some requirements are:

-HTTP rest protocol

-good Relational database support (going to use mysql or postgresql)

-the app will require user accounts (password storage, authentication, registration). So the less I have to manage myself there, the better. This one is a big concern for me.

-first class linux support for dev tools and deployment.

I have already implemented the chess logic in java, and have an early prototype running using Jetty for HTTP and JDBI for the database. Java is very familiar for me, so this is a knock against it, as I am trying to learn new things.

I am also considering node.js , django, or go. I like the idea of using django, as I kind of want to learn more python. But I also like the idea of using node.js, as it seems to be very popular. Go seems like an interesting language, and well suited to what I am trying to achieve (thats a huge assumption, as I have no clue what I am doing yet). All three are completely foreign to me.

I am not interested in .net core, as I already use c# and microsoft tools at work from time to time.

Thanks for any suggestions or guidance you can provide me!

submitted by /u/scorr14
[link] [comments]