Project

Coffee Machine (Go)

Medium
464 completions
~ 6 hours
4.5

This project allows you to get a taste of Go. Practice working with functions, challenge yourself with loops and conditions, and get more experience with Go.

Provided by

JetBrains Academy JetBrains Academy

About

What can be better than a cup of coffee during a break? Two cups. Press a couple of buttons on the machine, and, voilà, a burst of raw energy is in your hands. But first, we should teach the machine how to do it. In this project, you will work on a coffee machine simulator. This machine uses regular ingredients — coffee, milk, and plastic cups. Should it run out of something, it will show you a notification. Our device will serve espresso, cappuccino, and latte. And since nothing is for free, it will also charge coffee lovers for a cup.

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:
Write a program that puts some basic information on the screen. Let the machine describe what it takes to make a cup of coffee!
The machine should calculate how many ingredients it needs to make the required amount of coffee.
Program the machine to calculate how many cups it can make based on the number of set ingredients.
Teach your virtual coffee machine to perform three basic actions: collect the money, replenish the supplies, and serve the coffee.
Program the machine to display how many supplies it has on the screen. Work on the main loop: now, the menu keeps updating until users choose to exit.
Enhance your coffee machine with any new functionality you wish to add.

Reviews

User 295761623 avatar
User 295761623
16 hours ago
This was a good practice for using methods, multiple different custom types, maps and beloved iota (-:
User 621764784 avatar
User 621764784
2 months ago
It was a good for designing a project and useful for seeing how can change some code without redesign the whole code
Daniel Jergins avatar
Daniel Jergins
2 months ago
It was really annoying that the space in the project on the ide prevented me from breaking apart functionality into separate packages. I had to keep everything in main which sucked because you taught me that that flies in the face of SOLID design. Other than that, good project.

4.5

Learners who completed this project within the Go Developer course rated it as follows:
Usefulness
4.5
Fun
4.5
Clarity
4.5