Я новичок в firebase, и я тестирую, если это хорошо для моего следующего проекта. В качестве упрощенного примера моего проекта я дам список TODO. Я хочу, чтобы разные клиенты регистрировались с помощью электронной почты и пароля и после входа в систему, чтобы получить доступ только к своей части базы данных. После этого каждый клиент должен иметь возможность создавать пользователей своей части приложения с разными привилегиями. В качестве примера клиент является семьей. Они используют мое приложение todo. У отца есть админы, сын может читать только массаж и т. Д. Другая учетная запись дефилирует familly и т. Д. Таким образом, у каждой учетной записи должна быть копия всех трех узлов. Я должен быть чем-то вроде многостраничного приложения. Клиенты выиграли Не сообщайте какие-либо данные, поэтому я не думаю, что было бы неплохо поместить все подобные данные в одну таблицу. Так что я думаю об этом:Организуйте базу данных Firebase для многопользовательского приложения
account1
users
user 1
name : John
type : Admin
user 2
name: Ben
type: User
todolist
massages
1
author : John
2
author : Ben
appsettings
1
some settings
...... more nodes
-----------------------------------
account2
users
user1
name : Jen
type : users
user2
name : Sam
todolist
massages
1
author : Jen
.....same tables like account1
Это правильный способ структурирования моей базы данных и что было бы правильным способом для организации моего процесса входа в систему? Владелец учетной записи должен войти в систему с помощью электронной почты и пароля, после чего у каждого пользователя должен быть пароль для доступа на основе его настроек в узле настроек учетной записи.
Если я использовал базу данных SQL, я бы построил другую базу данных для каждого клиента. Предполагается, что это будет какое-то программное обеспечение для управления запасами или что-то в этом роде. Каждый клиент является независимым. В мире firebase я предполагаю, что я мог бы использовать разные корневые узлы для каждого клиента и этот узел будет дочерними узлами, необходимыми для работы приложения. Это возможно. Я думаю, что я попытаюсь что-то построить и проверить, но мне нужно услышать некоторые советы. Я могу иметь идентификатор корня для каждого клиента, чтобы они могли использовать приложение с такими адресами, как этот xxxxxx.firebaseapp.com/accoun1 под этим корнем. структура аналогична. –
В SQL вы правы. Однако это NoSQL, поэтому нет возможности иметь разные корневые узлы для каждого клиента.Как я уже упоминал в своем ответе, вы можете иметь your_app.firebase.com/account1 и your_app.firebase.com/account2, а затем использовать правила, чтобы держать пользователей учетной записи1 в узле account1. – Jay
В качестве продолжения я хотел бы предложить вам изучить Firebase, так как его способности и производительность хорошо подходят для такого приложения. Тем не менее, наличие конфиденциальных разделенных данных не является сильной стороной для Firebase, поэтому вам необходимо соответствующим образом закодировать его и опираться на правила (сильно), чтобы заставить его работать. Я предложил команде Firebase, предлагающей какую-то структуру группы для пользователей и данных, действительно откроет Firebase до совершенно новой сферы разработки приложений. – Jay