Testing the Chainlink oracle was a challenge, and we had to use Chainlink-mix of Brownie as a starting point for the project. We have extensively tested the VRF oracle to make sure it works on the mainnet.
Finding a fair payout scheme was challenging as well. We evaluated 50+ existing payment schemes of lottery markets, and we still weren't convinced with any of these, so we made our own DLS mechanism, which is the most rewarding and fair mechanism out there.
Integrating Ethers.js was a challenge as this was the first time we used the library, and we found the documentation inadequate.
We had trouble finding testnet-ethers for Goerli and Kovan, so we decided to use the Sepolia testnet to do the integration testing.