CodeGym /Java Blog /Random /Project ideas
Level 25

Project ideas

Published in the Random group
Hello friends, Coming up with project ideas can be sometimes really hard task especially for beginner who still don't exactly know what they are capable of doing, so they pick up too easy projects, which don't give them opportunity to level up their skills or at another side projects that are too hard, which can lead to struggling hard and loss of motivation. I've decided to recommend a few projects which I believe are intermediate level when it comes to complexity, so you can do them on your own with just using logic and thing u learn at CodeGym. Some of them will be easier, other harder, so don't hesitate to use google if struggling — but if you do, be sure to retype all the code on your own and think about what it does and don't just copy & paste. No more talking, here they are:


  • Scientific calculator
  • Unit converter
  • Decimal to Roman number converter
  • Friday the 13th (How many times there was friday 13. between two given dates? Try to make also version without using Date or similar class)


  • Password generator (Let the user define length, also if password should contiant special characters, small or uppercase letters, numbers.. You can also save result to a file.)
  • Scientific calculator (Yes, text. Make it accept math. expressions as string "sqrt(3+21*7-(14/5))")
  • Caesar cipher


  • PDF / CSV generator
  • CLI utility to zip / unzip files (For added complexity work only with files with certain extensions, or with .part files. Try to handle most of errors (file is missing, corrupted
  • Mass file copy / rename


  • ATM (Add / remove users, give them id, let them change PIN, add / withdraw / send funds, multiple accounts for same user, saving accounts...)
  • School inventory (How many of each objects in which rooms)
  • Family tree
  • Vending machine



  • Airline /Hotel reservation system
  • Library management
  • Movie store
  • E-Commerce site (That one involves more knowledge, recommended in the end of course)


  • Guess the number (Let the user select if he wants to guess number, or the program will)
  • Slot machine (Randomization, probablity, objects)
  • Tic Tac Toe
  • Black Jack (User against PC which acts as dealer)
  • CLI RPG - there is a lot of them, feel free to google some
  • Dice game
Please, let me know if you agree with the complexity of programs in the list, or what should I add or remove. Happy coding! Article inspired by: MichelMk People who helped with the list: Hanna Moruga
Comments (4)
Mihai Bone Level 8, Bucharest, Romania
7 December 2020
Thank you for your time, I will save it for later use, I almost forget..... here.... take my vote.
JACOB ANDERSEN Level 10, Wilmington, United States
18 November 2020
I am currently working on a Black Jack game in java, and i can confirm that it is an intermediate project. Just making the user decide whether Aces count for 1 or 11 is a nice little puzzle for your brain.
Agent Smith Level 38
18 November 2020
Very nice ideas, bookmarked! 🙃 Here is another one: make a Turing machine emulator program with GUI. It can be a nice way to practice SWING library. Made this little project for my UNI:
Hanna Moruga Level 20, Seattle, United States Moderator
16 November 2020
Hi Andrej, that's a nice list! Creating simple console games is always a good idea for basic projects, and I would also add an e-commerce site as a great complex project.