Module II.1102 offers students the opportunity to work on a Java development project. This year, the project will focus on developing an application that manages collaborative tasks with all the required features. More information on this topic in section 2. Before describing the needs of this project, here are some general instructions:
- You will need to form teams of 2 or 3 students by filling out the form for each teaching group in the ‘Java Project’ section of the Moodle course space (teams are formed within the same teaching groups).
- The source codes of your projects will be compared to detect any attempt at code sharing. If there is even the slightest suspicion of cheating, you will be interviewed by your teachers to prove that you are the authors of your own projects.
- It is absolutely forbidden to use code generation tools. This will be considered as plagiarism.
- Bonuses may be awarded for original features of your choice.
A company specializing in consulting and developing IT solutions is based in Paris. The company is expanding and wants to introduce new mechanisms for project management. The management has decided to incorporate a collaborative task management tool into the company's information system. Such a tool is effective for organizing project tasks, sharing responsibilities, and tracking the progress of deliverables. It allows team members to work together in real-time, while having a clear view of the progress of each task.
A collaborative task management application will enable the company to achieve the following objectives:
- Create an intuitive environment for task management, suitable for teams of different sizes and sectors.
- Facilitate collaboration by allowing users to share information, files, and updates in real time.
- Improve productivity by integrating automation and communication features between project members.
- Allow advanced customization to adapt to users' specific workflows.
- Create, edit, and delete employees.
- View employee information.
- View employee history on projects already completed.
- Create, edit, and delete projects.
- Compose a project into a set of tasks.
- Set deadlines for validating project deliverables.
- Assign project members from the staff list with specific roles.
- Create, edit, and delete tasks.
- Assign tasks to specific members.
- Set priorities, due dates, and categories.
- Add comments and detailed descriptions to tasks.
- Kanban View: A task board to move between columns like "To do," "In progress," and "Done."
- Calendar View: Visualize deadlines.
- A graphical interface for easy and intuitive use.
- Smooth navigation between functionalities.
- Generate reports on project progress, delays in task delivery, budget for each project, etc.
- Export reports in different formats (PDF, CSV, etc.).
- Progress charts to measure project advancement.
- Use of a Java API for an ergonomic calendar.
- Notifications on project progress.
- The application must be developed in Java using object-oriented programming concepts.
- Use appropriate data structures for storing information (tables, lists, etc.).
- Use JavaFX for creating application interfaces.
- Possible use of databases for persistent data storage (optional).
Several deliverables will be submitted on Moodle during the semester:
- A UML modeling of your project, due Friday, January 10, 2025. Proper modeling ensures a more robust program that is easier to modify if necessary.
- At the end of the semester, submit a technical document describing the implementation of your project, along with the source code.
- A defense session will be held on the last session of the semester (Friday, January 17, 2025), during which you will explain the design of your project and demonstrate it.
More information will be communicated on Moodle as it becomes available.