Ну как минимум нужно разбивать на сервисы, репозитории, инкапсулировать логику, а не писать всё в одном файле.
Так же почитайте про асинхронность, сейчас вы читаете и записываете файл синхронно, это может положить ваше приложение. Если вы предпологаете, что у вас будет много данных в вашем users.json, то я бы посоветовал использовать БД