I'm new to java programming and my very first task is within the next 6 weeks
I must come out with an application which can do the following.
I am tasked to develop an online task assignment system. The system allows a group of people to collaborate together to track the status of a set of tasks. Members in a team can opt to add a new task, take ownership of tasks, close and/or delete tasks. Standard features like user registration and authentications are expected.
Register and manage users.
Manage tasks that need to be done for a team. Assign/own a task.
Basic Functional Requirements (You can also include other function not listed here)
1. User registration and authentication.
Users can register to become a user of your web application. User details to be included in the registration include simple information such as name, e-mail, user ID and password. You may opt to include any other information like date of birth, contact numbers and personal photo. This will form the “profile” of the user.
The system should also authenticate the user to safe-guard the data to keep out unauthorized users. You may wish to add in additional features like reset password and two-factor authentication.
Since the set of tasks are shared among teams.The system should allow users to create and manage teams. For example, users should be able to delete, add or remove members from the team. For a more complete implementation, you might want to consider features like invitation via email etc.
The team should be able to create and manage tasks. Users should be able to add and delete tasks, take or set ownership, close and track tasks. You might also consider adding features like the ability to provide statistics on tasks (for example, average amount of time to complete a ask etc.)
The system should also allow users to perform additional features like
‐ Allow team members to assign costs and values to each task.
‐ Sort and rank tasks based on various criteria (e.g. by cost, value, date, owner etc.).
All user inputs must be validated.
User interface must be well‐designed with appropriate controls. All user errors must be handled elegantly(for example, if user keys in incorrect names, useful messages should be displayed)
and there are some non functional requirements I should look on to as well such as
(1) The application must be implemented using Java EE platform.
(2) Architecture must follow proper MVC design to ensure good extensibility and maintainability.
the software to be used will be IBM rational application developer 7.0.
Once again great help is needed if by any chance i can be referred to any tutorials or any examples or source codes will be