Modules #
Ever wondered why there are so many modules and repositories in the Road Runner ecosystem? It’s all to do with dependencies. The fewer dependencies a module has, the more places and situations it can be used. For Road Runner, the main dependency to avoid is the FTC SDK. The SDK integrates heavily with the Android libraries, making it difficult to run on a non-Android machine. But even beyond those practical concerns, it’s good to keep conceptually separate bits of code in different modules. Road Runner and FTC Dashboard may have great synergy when used together, but the core functionality of Road Runner is totally independent of FTC Dashboard so neither of those modules depend on each other.
The major modules and their dependencies are shown in this diagram:
The quickstart node has a different shape because it isn’t a fixed module in the same way that the others are. It’s a template that teams take and customize to fit their needs.