Я работаю над созданием приложения для POS (Point of sale), используя couchdb с angular. Так как я новичок в мире NoSQL. Нужно руководство, как спроектировать систему.
Это должно быть облачное приложение, в котором входящий в систему пользователь может создавать компании, и у каждой компании есть n местоположений.
В смысле реляционных баз данных мой дизайн базы данных выглядит следующим образом.
- При входе в мое приложение имя пользователя и пароль проверяются по лицензии db. Если они действительны, приложение свяжется с их собственной компанией db.
- Всякий раз, когда пользователь создает новую компанию, создается новая база данных, все ее местоположения, счета, платежи находятся в их собственной базе данных.
- Лицензия БД, отвечающая за учетные записи пользователей, платежи, их план и уровень безопасности (к какому экрану они могут обращаться / редактировать).
- Приложение имеет автономную поддержку с использованием PouchDB. где соответствующие сведения о местоположении загружаются в браузер пользователя и синхронизируются с базой данных сервера.
Вопросы:
- Можно ли создать базу данных для каждой компании.
- Если пользователь хочет работать в автономном режиме, он может синхронизировать только собственные данные о местоположении (отфильтрованная репликация), если он хочет получить доступ к другим данным о местоположении, приложение должно подключиться к облачной БД. Возможно ли это?
- Я хочу, чтобы один и тот же код запрашивал / вставлял данные в couchdb & PouchDB. Возможно ли это?
- Является ли поддержка комплексных отчетов couchdb map-lower / mango query
- Является ли Angular + Couchdb достаточным или мне нужна какая-либо серверная инфраструктура. У меня сейчас нет сторонней аутентификации.
- Как вышеуказанный дизайн реляционной базы данных должен быть реализован в coub db
Что еще я должен думать об этом дизайне программного обеспечения