Project

File Server

Hard
387 completions
~ 37 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

Ivan Sm avatar
Ivan Sm
3 weeks 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 ...
Serhii Vynohradov avatar
Serhii Vynohradov
4 weeks ago
Project is quite nice and relevant, it teaches a lot about stuff not covered much in theory, at least in my course (Java Backend Developer).
Olmos Davronov Ikrom O'g'li avatar
Olmos Davronov Ikrom O'g'li
2 months ago
This was one of the best projects I work with. I was sick of REST and Basic Security projects.

4.2

Learners who completed this project within the Java Developer course rated it as follows:
Usefulness
4.6
Fun
4.2
Clarity
3.7