Project

File Server

Challenging
410 completions
~ 42 hours
4.2

You will learn how to work with sockets and also improve your multithreading skills.

Provided by

JetBrains Academy JetBrains Academy

About

It's so easy to lose your precious data — unless you store it on a server. Besides, file servers allow you to access your files remotely, no matter where you are. In this project, you will create your own file server, even though a simple one. You will practice concepts frequently tested in technical interviews at top tech companies.

Graduate project icon

Graduate project

This project covers the core topics of the Java Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

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:
For a start, write a program that simulates the work of a file storage server.
Time to practice using sockets: establish a client-server connection and learn how to handle errors on your server.
Save a simple text file on your server: enter the name and the contents of the file and save it.
Upgrade your server so that it can handle any type of files using multithreading and serialization.

Reviews

Tomasz Zurawski avatar
Tomasz Zurawski
7 months ago
A well-designed and engaging project that provides valuable hands-on experience with sockets, file handling, and multithreading.
User 620468283
8 months ago
More about Java: Maps, try with resources blocks, exception handling, Streams, reading and writing files with bytes correctly
Ivan Sm avatar
Ivan Sm
10 months ago
Huge lack of tests for required functionality (especially parts 3,4) Suppose there are some problems with hyperskill course plugin: sometimes synchronisation work in inappropriate way (fetching outdates classes and structure) There is differece between set of classes in course view and project vie ...

4.2

Learners who completed this project within the Java Developer course rated it as follows:
Usefulness
4.7
Fun
4.3
Clarity
3.8