ProjectBeta

Online Chat

Challenging
36 completions
~ 33 hours
3.8

Learn to create network connections using sockets and handle multiple connections simultaneously using multithreading.

Provided by

JetBrains Academy JetBrains Academy

About

In this project, you will create a simple chat based on the client/server architecture that will allow you to talk with other Internet users.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Imagine that you are a server, and your work is to process received messages. This stage is a warm-up to prepare you for working hard.
Practice your network programming skills: establish stable and errorless connection between the server and the client.
Allow multiple people to connect to your server. This is your chance to improve your multithreading skills!
Create a base for your client-server application. Make a basic functional group chat that you’ll be able to improve later.
Extend your application. Add a few useful services without rewriting much of your code.
Make your application look like a real server with the admin, moderators, and a few useful features. Mix this application with a modern GUI, and your own chat is ready for use!

Reviews

Anton Platonov avatar
Anton Platonov
4 months ago
Very very hard and many tasks to do, the difficulty should be changed
Evgenii Zelianin
3 years ago
I have learned some multithreading, working with strings, interfaces, records.
Alex Upaev avatar
Alex Upaev
3 years ago
I have learned a lot of stuff: multithreading, serialization, sockets, concept of messaging app, patterns.

3.8

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.4
Fun
4.1
Clarity
2.9