This error means that there are functions that are not implemented in your smart contract.
In Solidity you can inherit an other smart Contract, meaning another smart contract is written with functions and by inheriting from it you can use its function, without writing extra code.
However sometimes in a contract the functions are not implemented. Only the header of the function is defined, but its core logic is not written. The child contract has to implement every function to be able to be deployed.
That can come from 3 inherited sources:
=> An Interface is a contract where no functions are implemented. Only the header of the functions are written. It serves as a guideline to show which function should be present in the child contract to respect a certain set of functionalities. However how the function is implemented is generally left to the developer, that can innovate !
=> An Abstract contract is a contract where some functions but not all are implemented.
=> a Constructor is a special function only defined once per contract that will be called only once in the lifetime of a smart contract, during its initial deployment. It takes in certain parameters, that will define certain variables at deployment.
In conclusion:
All functions of parent contracts that are not implemented should be implemented in the child contract.
For unimplemented Interface or Abstract contract: write the function header and then write the function logic inside the function. (You may have to use the override command)
For an unimplemented constructor, you have two ways to implement it in the child contract:
contract myContract is ParentContract([parameter1],[parameter2]) { ... }
or
constructor(uint256 [parameter1], uint256[parameter2]) ParentContract([parameter1],[parameter2]){ ...}