Как лучше спроектировать и реализовать корпоративную систему ведения заметок?
Нужно реализовать web-приложение, в котором пользователи локальной сети могут создавать свои заметки, давать доступ к заметке другим пользователям.
Заметки должны храниться в формате markdown. Приложение должно работать только в локальной сети, исключая доступ в интернет.
Я выделил 2 сущности, User и Note с полями:
User: -id -username -password -createdAt -updatedAt
Note: -id -type (enum: private/public) -pathToFile -authorId
Связь many-to-many, поэтому я сделал промежуточную таблицу где соотносятся id юзера и заметки.
Правильный ли это подход? И как работать с markdown файлами? Правильно ли хранить в БД путь к самому файлу, а сам файл где-то на сервере. Какие технологии использовать, чтобы прикрутить редактирование markdown файла в самом приложении? Как сделать так, чтобы пользователь автоматически авторизовывался, после того как залогинился в свою учетку компа?
Я использую nest js для бека, react для фронта. БД - постгрес.
Спасибо