Skip to content

Project Definition of Done

Diogo Fernandes edited this page Sep 11, 2024 · 5 revisions

Definition of Done - Looper

1. Code

  • The code respects a defined naming convention and coding convention (PSR-12).
  • Don't use any framework : only low level libraries (such as simple router or templating system)
  • All features are implemented and tested
  • Project respects the technical constraint : No JavaScript.
  • Project structure is defined and followed.
  • The project is OO.

2. Features

Exercise building

  • Create a new blank exercise with a title
  • Add a new field with a title and a value type
  • Edit an existing field to either rename it or change the value type
  • Destroy an existing field

Exercise taking

  • List the exercises that are ready for answers
  • Take an exercise to see all the fields
  • Answer the taken exercise by filling the fields
  • Update the existing answers for a taken exercise

Exercise management

  • List all the exercises in 3 columns based on their state
  • Destroy an exercise (only when building or closed)
  • Change state of an exercise through icon buttons
  • Stats for an exercise: show the recap (all takes, all fields)
  • Stats for an exercise: show the answers of all fields of one take
  • Stats for an exercise: show the answers on one field of all takes

3. Modularity and Architecture

  • The application is built in a modular manner to facilitate easy maintenance and future development.
  • Each functionality (such as exercise creation, response management, etc.) is isolated in distinct modules according to the separation of concerns (business logic, presentation, services).

4. Tests

  • All critical features are tested and if possible, using automatic tests.
  • The tests verify data consistency and the proper functioning of the feature.

5. Documentation

  • The documentation includes :
    • MCD
    • MLD
    • A procedure to install and configure the dev environment
  • Documentation is provided in PDF format

6. Versioning and Delivery

  • Code and documentation is delivered via a GitHub repo in the CPNV-ES organization.
  • Each group member has contributed in the repo.
  • First delivery is made before the 31th of October 2024. The final delivery is made before the 20 of December 2024.

7. Code Quality

  • Code respects PSR-12
  • No syntax error or performance is present in the final version.
  • The modular architecture facilitate the reusability and the maintenance.

8. Collaboration

  • The division of labor within the two-person group is balanced, with identifiable contributions from each member.
  • Differences in technical skill levels and experience are taken into account in the collaboration.
Clone this wiki locally