Building an Enterprise-level IoT Platform from Scratch