Building Enterprise-level IoT Platforms from Scratch