Skip to content

code-differently/creative-cli-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Creative-Cli-Project

The Mission

You and your partner are going to build a Java command-line application based on a real-world system.

There is no step-by-step instruction manual.

Instead, you will take everything you’ve learned so far and design your own solution.

Think of this as your opportunity to prove:

  • You can design software
  • You can structure Java programs
  • You can collaborate with a partner
  • You can explain your technical decisions

Your goal is to build something that works, is organized, and shows your understanding of Java.


Theme: EveryDay Appliication

Your project must represent a system people use in real life

You are encouraged to get creative and build something interesting.


Team Structure

You will work in pairs.

Because everyone recently earned their Certified Scrum Master certification, you will organize your work into three sprint phases.

Your README must document what happened in each sprint.


Sprint Documentation

Your README must include these three sections.


Sprint 1 — The Plan

Before writing code, explain:

  • What problem your program solves
  • What features you want to build
  • What classes you expect to create
  • How you divided the work between partners

Think of this as your project blueprint.


Sprint 2 — The Build

Explain:

  • What you actually implemented
  • What changed from your original plan
  • Challenges you encountered
  • How you solved them

Real software projects never go exactly as planned — document your journey.


Sprint 3 — The Reflection

Explain:

  • What works well in your program
  • What you would improve with more time
  • What Java concepts you used the most
  • What you learned from the experience

Code Explanation Requirement

Your code must contain comments explaining your technical decisions.

The goal is to show why you used certain Java concepts, not just that the code runs.

Explain things like:

  • Why you created certain classes
  • Why you used specific collections
  • Why you used loops or conditionals
  • Why methods are structured a certain way

Example:

// Using ArrayList because the number of tasks can grow dynamically
ArrayList<String> tasks = new ArrayList<>();

// Loop used to display all tasks stored in the system
for (String task : tasks) {
    System.out.println(task);
}

Your comments should help someone understand how your program works and why it was designed that way.


Technical Expectations

Your project should demonstrate the core Java skills we have practiced:

  • Classes and Objects
  • Constructors
  • Methods
  • Encapsulation (getters/setters)
  • Loops
  • Conditional statements
  • Collections (ArrayList, HashMap, etc.)
  • User input using Scanner
  • Clean program organization

Your application must run in the command line.


Final Goal

This project is about demonstrating that you can:

  • Design software without step-by-step instructions
  • Apply Java concepts to a real problem
  • Work effectively with a partner
  • Explain your code and decisions

Build something that helps reinfornce knowledge for the final java exa!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages