The project requirements were divided into three categories: functional requirements, non-functional requirements and anti-requirements. In the interests of better understanding, it was decided to use different tables for each category. However, they all follow the following formatting pattern in relation to the requirement identifier:

<module><type_requirement><id>

In which: 
- type_requirement: R = Functional, NFR = Non-Functional, AR = Anti-Requirement;
- module: W = Water, C = Camera, A = Audio, L = Laser, BL = Ball Launcher, SD = Snack Dispenser,
App = Mobile Aplication, PS = Power Supply, EL = Eletronics, GS = General Structure, CO = Communication;
-id: [dd]: 1-indexed two-digit incrementing number that identifies a requirement in the most specific sub-type

Example:
"WFR01": #1 functional requirement related to water

The functional requirements are divided as follows:

Requirements

The anti-requirements represent what the project will not accomplish and are divided as follows:

Anti-Requirements