Sure! Here's a solution in Java:
```java
import java.util.Scanner;
class Login{
private String username;
private String password;
private String firstName;
private String lastName;
public Login(String username, String password, String firstName, String lastName){
this.username = username;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
}
class Task{
private String taskName;
private int taskNumber;
private String taskDescription;
private String developerFirstName;
private String developerLastName;
private int taskDuration;
private String taskID;
private String taskStatus;
public Task(String taskName, int taskNumber, String taskDescription, String developerFirstName, String developerLastName, int taskDuration){
this.taskName = taskName;
this.taskNumber = taskNumber;
this.taskDescription = taskDescription;
this.developerFirstName = developerFirstName;
this.developerLastName = developerLastName;
this.taskDuration = taskDuration;
String firstTwoLetters = taskName.substring(0, 2).toUpperCase();
String lastThreeLetters = developerLastName.substring(0, 3).toUpperCase();
this.taskID = firstTwoLetters + ":" + taskNumber + ":" + lastThreeLetters;
this.taskStatus = "To Do";
}
public String getTaskName(){
return taskName;
}
public int getTaskNumber(){
return taskNumber;
}
public String getTaskDescription(){
return taskDescription;
}
public String getDeveloperFirstName(){
return developerFirstName;
}
public String getDeveloperLastName(){
return developerLastName;
}
public int getTaskDuration(){
return taskDuration;
}
public String getTaskID(){
return taskID;
}
public String getTaskStatus(){
return taskStatus;
}
public void setTaskStatus(String taskStatus){
this.taskStatus = taskStatus;
}
}
class EasyKanban{
private static Scanner scanner = new Scanner(System.in);
private static Login currentUser;
private static Task[] tasks;
private static int taskCount = 0;
public static void main(String[] args) {
System.out.println("Welcome to EasyKanban");
login();
int choice;
do {
System.out.println("Please choose an option:");
System.out.println("1) Add tasks");
System.out.println("2) Show report");
System.out.println("3) Quit");
choice = scanner.nextInt();
switch (choice) {
case 1:
addTasks();
break;
case 2:
System.out.println("Coming Soon");
break;
case 3:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid choice");
}
} while (choice != 3);
scanner.close();
}
public static void login(){
System.out.println("Please enter your username:");
String username = scanner.next();
System.out.println("Please enter your password:");
String password = scanner.next();
System.out.println("Please enter your first name:");
String firstName = scanner.next();
System.out.println("Please enter your last name:");
String lastName = scanner.next();
Login login = new Login(username, password, firstName, lastName);
currentUser = login;
System.out.println("Welcome " + login.getFirstName() + " " + login.getLastName() + ", it is great to see you again.");
}
public static void addTasks(){
System.out.println("How many tasks do you want to add?");
int numTasks = scanner.nextInt();
tasks = new Task[numTasks];
for (int i = 0; i < numTasks; i++) {
scanner.nextLine(); // clear the scanner buffer
System.out.println("Enter task name:");
String taskName = scanner.nextLine();
System.out.println("Enter task description:");
String taskDescription = scanner.nextLine();
System.out.println("Enter developer first name:");
String developerFirstName = scanner.next();
System.out.println("Enter developer last name:");
String developerLastName = scanner.next();
System.out.println("Enter task duration in hours:");
int taskDuration = scanner.nextInt();
Task task = new Task(taskName, taskCount, taskDescription, developerFirstName, developerLastName, taskDuration);
tasks[i] = task;
taskCount++;
System.out.println("Task successfully captured");
}
displayTasks();
}
public static void displayTasks(){
int totalHours = 0;
for (Task task : tasks) {
System.out.println("Task Status: " + task.getTaskStatus());
System.out.println("Developer Details: " + task.getDeveloperFirstName() + " " + task.getDeveloperLastName());
System.out.println("Task Number: " + task.getTaskNumber());
System.out.println("Task Name: " + task.getTaskName());
System.out.println("Task Description: " + task.getTaskDescription());
System.out.println("Task ID: " + task.getTaskID());
System.out.println("Task Duration: " + task.getTaskDuration() + " hours");
System.out.println();
totalHours += task.getTaskDuration();
}
System.out.println("Total Hours: " + totalHours);
}
}
```
Hope this helps!