There is no need to create a new table. Directly add a row to the user table, just like your is_new is used to identify whether the user still needs to be guided. I think there is no problem. Of course, if you need to record the user's choices, such as initializing some user behaviors, you should create a new table to record these things, and at the same time create a user_id index and add some columns. Just tag it. I personally feel that it is not a overkill, it is the right approach.
When accessing the api, it is very common for the backend to find out whether the user has a certain mark and return it to the frontend, and then the frontend renders it. I looked at it from the perspective of the back end. I don’t know if there is any black magic on the front end.
One of my suggestions is to check whether the user has performed relevant operations. For example, when a user creates a new test paper for the first time, a prompt will be given to a novice who creates a new test paper, and when a user answers a test paper for the first time, a prompt will be given for answering the paper.
There is no need to create a new table. Directly add a row to the user table, just like your is_new is used to identify whether the user still needs to be guided. I think there is no problem. Of course, if you need to record the user's choices, such as initializing some user behaviors, you should create a new table to record these things, and at the same time create a user_id index and add some columns. Just tag it. I personally feel that it is not a overkill, it is the right approach.
When accessing the api, it is very common for the backend to find out whether the user has a certain mark and return it to the frontend, and then the frontend renders it.
I looked at it from the perspective of the back end. I don’t know if there is any black magic on the front end.
One of my suggestions is to check whether the user has performed relevant operations. For example, when a user creates a new test paper for the first time, a prompt will be given to a novice who creates a new test paper, and when a user answers a test paper for the first time, a prompt will be given for answering the paper.