Я создаю платформу, которая содержит пользовательские профили для студентов, эти профили могут быть созданы student или Преподавателем .
У меня есть несколько таблиц; Вот некоторые из них: teachers
, students
, courses
и grades
.
Учащийся может создать учетную запись с некоторым адресом электронной почты и использовать платформу без учителя.
Учитель также может добавить профиль для ученика;
Если этот ученик существует: ученик получает электронное письмо о соединении, чтобы подключить свой профиль к этому учителю .
Если этого студента не существует: студент получает электронное письмо с приглашением присоединиться к платформе .
Оба пользователя должны иметь возможность добавлять / изменять данные в профиле студента до установления соединения, но добавленные ими данные не должны передаваться до тех пор, пока соединение не будет установлено.
Таким образом, учитель никогда не должен видеть информацию об ученике (, добавленную этим учеником ), пока ученик не согласится на соединение. И ученик не должен видеть данные, добавленные учителем, пока они не связаны.
Что сложно, так это разделение данных, у меня есть только одна база данных с одной таблицей для students
и каким-то образом для одного учащегося должны существовать два профиля учеников, пока этот ученик не подтвердит соединение, а затем эти данные будут объединены.
Каковы лучшие практики в разработке API / баз данных, когда речь идет о чем-то подобном?