• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Trying to build a kanban board

 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,

this is my first program that I'm trying to build... and I'm having trouble with where to begin...

Does this sound like the best way to go....?

Sticky class to create the sticky, with title and info.
Then a ready class with array to hold ready stickies, a doing class with array to hold doing stickies and a done class with array to hold done stickies.
Then a board class to create a board to hold the 3 arrays.

Sorry, any help would be greatly appreciated
 
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, I dont know exactly what a Kanban board is, googling showed me a few pics and I got a basic idea about it.


Here's my suggestion:

 
Saloon Keeper
Posts: 15510
363
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I like Salvin's approach, but make sure the fields are private and final. StickyNotes can be immutable.
 
Ian Tail
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the responses guys....

I'll try the suggestions... and see how I get on
 
salvin francis
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:I like Salvin's approach, but make sure the fields are private and final.


Ah, I forgot to add the access modifiers.

Stephan van Hulst wrote:StickyNotes can be immutable.


Hmm, Maybe no since I see a transition of a note from Doing > Done > Ready. Unless I have misunderstood the kanban board meaning ?
 
Stephan van Hulst
Saloon Keeper
Posts: 15510
363
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Looking closer, it seems the statuses are more closely associated with a column on the board than with individual sticky notes. I would make the board have a Map<Status, Collection<Story>>, or if stories have a unique ID: Map<Status, Map<Integer, Story>>
 
Stephan van Hulst
Saloon Keeper
Posts: 15510
363
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

salvin francis wrote:

Stephan van Hulst wrote:StickyNotes can be immutable.


Hmm, Maybe no since I see a transition of a note from Doing > Done > Ready. Unless I have misunderstood the kanban board meaning ?



Well, if we're going this way (see my post above), then stickies can be immutable and simply return a new sticky with a different type using a method like withType(StickyNoteType type)
 
Rancher
Posts: 4801
50
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would hesitate with implementing that enum.

Kanban does not necessarily have 3 states for a card.
I've seen boards with a dozen columns.

So, let's take a simple setup with Analysis, Dev, Test, Deploy.
Each of these will have a "doing" (I prefer "in progress") and a "done".
The "done" of one is the "ready" of the following column (so "dev done" is the "ready" for "doing test").
This means that there needs to an "analysis ready", but that won't have a WIP.

Since the number of columns varies, I would not use an enum to represent them.
 
Stephan van Hulst
Saloon Keeper
Posts: 15510
363
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dave is correct of course. It seems we can make the Board generic and let the client specify the type of the column headers.
 
salvin francis
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Interesting
So, maybe a simple Map can surfice?

Map<Category, List<Sticky>> stickyMap;

Like Stephan suggested
 
Stephan van Hulst
Saloon Keeper
Posts: 15510
363
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, but it needs to be generic, because a 'Category' would likely be nothing but a marker.

My suggestion:


 
Ian Tail
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi guys, thanks for all your responses, I'm still working on this... As I'm new to java and still learning, I've not dealt with maps before. So I'd gone with an if loop that determines the category and then places it in the array list of that category.

But I'll look at maps, as that might be easier?

Especially as I'd like to build a GUI for this, and have the categories as physical columns, and the objects/stickies as coloured squares that can be moved across the columns as the category changes
 
salvin francis
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Ian Tail wrote:
Especially as I'd like to build a GUI for this, and have the categories as physical columns, and the objects/stickies as coloured squares that can be moved across the columns as the category changes


Good luck, let us know if you are stuck anywhere. There are forums such as Swing AWT SWT where you can ask for help if you are making this in swing.
 
Sheriff
Posts: 7125
184
Eclipse IDE Postgres Database VI Editor Chrome Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would suggest that if you add a GUI you use JavaFX, which has its own forum.
 
Ian Tail
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Didn't know about JavaFX, and just having a brief check on it, it'd seem JavaFX might once I've got to grips with Java Swing first. That sound fair?

Although, it does sound like JavaFX offers more individual/unique skin design options... Which is nice

 
Dave Tolls
Rancher
Posts: 4801
50
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Ian Tail wrote:Didn't know about JavaFX, and just having a brief check on it, it'd seem JavaFX might once I've got to grips with Java Swing first. That sound fair?

Although, it does sound like JavaFX offers more individual/unique skin design options... Which is nice



Swing and FX work quite differently.
I would pick FX, if only because it's the current GUI for Java Desktop.
 
Saloon Keeper
Posts: 27762
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Swing is alive and well. So is GWT, as far as I know - it's the GUI framework for the Eclipse IDE and the Pentaho Spoon GUI designer for their Kettle ETL tool. And those are just items I can recall readily. I might also suggest looking at what jGannt and ArgoUML run off of, as they perform well as graphical desktop environments.

On the other hand, Kanban is a collaboration tool, and I can't really see why you'd want to run it as a desktop app. It's generally run as a web-based application to make it easier for multiple users to participate.
 
Rancher
Posts: 1093
29
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would look at using objects that implement Collection, rather than, arrays.

Ian Tail wrote:Hi all,

this is my first program that I'm trying to build... and I'm having trouble with where to begin...

Does this sound like the best way to go....?

Sticky class to create the sticky, with title and info.
Then a ready class with array to hold ready stickies, a doing class with array to hold doing stickies and a done class with array to hold done stickies.
Then a board class to create a board to hold the 3 arrays.

Sorry, any help would be greatly appreciated

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hey i know i am a little late to this but whats the update ? did you manage to make it? i am trying it too soo thats why i am asking
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch

The OP hasn't posted anything for over five years, so I think you are going to have to start from scratch, I am afraid. Please start by explaining the logic behind a kanban board. Then show us how far you have got with your solution.
 
reply
    Bookmark Topic Watch Topic
  • New Topic