Добрый день!
Ну во-первых, уточните должна ли база данных быть локальной или можно хранить данные пользователей на удаленке.
Если БД должна быть локальной, то посмотрите в сторону sqlite, возможно даже использование embedded db (h2, postgres и др.). Далее определитесь с технологией ORM. Например, hibernate, eclipselink, ormlite, room и др.
Теперь, касаемо интерфейса: можно использовать JavaFX.
Я бы, если пришлось писать на Java выбрал бы Spring + JavaFX. В Spring добавил бы все нужные зависимости типа hibernate, spring data и т.д.
Если БД будет удаленной, то на том же Spring нужно поднять restful сервис, который будет создавать учетки для пользователей, реализовывать crud записей и т.д. Таким образом получится клиент - серверное приложение