# Refactoring ideas ## TODO * Different user accounts for admin panel: * Username + password hash in config * Commandline tool to generate hash * Test email rendering! ## Short term * Split into seperate packages for server and frontend. * Make admin panel part of new frontend package. * Get rid of grunt. * Bluebird for promises? * Use generated type guards. ## Mid term * Typesafe db queries. * Store node data in database and export it for gateways. * Write tests (especially testing quirky node data). * Allow terminating running tasks via bluebirds cancellation. ## Long term * Rewrite the admin interface (used lib is unmaintained). * Rewrite the client in typescript (+ vue?). * Replace the grunt build system. * Decentralize node data.