Клиент может быть как браузерное, так и оконное приложение (например на C#, Java, но это уже редко используется, разве что в тех случаях, когда клиентское приложение должно локально взаимодействовать с API операционной системы или оборудованием и должно выводить такую графику, как браузерное приложение не может, например в некоторых играх, где нужно плотно работать с видеокартой, а из браузера ее не достать), а браузерное приложение - тут уж в любом случае JavaScript. Если оконное, то хватит и IP для связи (пишем IP и порт в конфиг), а браузерное - гораздо удобнее его открывать через доменное имя будет. Между клиентом и сервером Вам нужно будет обмениваться данными, для этого нужно выбрать: протокол и формат сериализации. Независимо от того, будет ли клиент браузерный или оконный протокол лучше всего брать HTTP (его можно проксировать и масштабировать, к такому API потом проще будет обращаться из других приложений, когда понадобиться развитие системы). Но обычный HTTP это односторонний поток запросов от клиента к серверу, а может оказаться, что для задачи нужно и обратный поток, от сервера к клиенту, например, чтобы передавать события, которые происходят на сервере, если их вызвали другие пользователи или серверные задачи. Для трансляции событий нужен протокол с установлением соединения, т.е. такой, где связь поддерживается долгое время и сервер может прислать сообщение без запроса, т.е. чтобы клиенту не довелось каждые 2 секунды переспрашивать сервер, нет ли уже каких-то данных. Для этого подойдет SSE (Server-Sent Events) это расширение HTTP протокола, но он односторонний, от сервера к клиенту, а клиент все свои запросы отдельно должен присылать, делая HTTP GET/POST запросы. Можно так же использовать WebSocket, он двусторонний, и через него можно устроить обмен данными в обе стороны, но SSE гораздо проще в реализации и я советую именно его. Теперь нужно организовать API на сервере, я для этого советую Node.js, это мой выбор, а причины я поясняю тут
habrahabr.ru/post/204958 Ну и выбрать СУБД, из реляционок рекомендую PostgreSQL
www.postgresql.org а из объектных (документных) MongoDB
https://www.mongodb.org/ Ну и если все компоненты подходят, то вот мой сервер приложений, в котором я уже все это собрал
habrahabr.ru/post/247543