Skip to content

Removing records for inactive courses. #98

@jalote

Description

@jalote

This is extremely important for scalability. I think for now for each course, we create 1 table each for quiz, feedback, etc. But these tables remain. This will make the database grow forever. We do allow for a course to be deleted, but we know that courses finish and so we should delete their records and free the space.

For courses that are not active, we should remove their records and free the space. A course can be defined as not active - if no activity has been done for some number of days (say 30). A message can be sent to the instructor(s) that it seems that the course has finished and so its records are being deleted; if the course is still running they can take a quiz/feedback .... in some days.

What does deletion means needs to be defined. Besides clearing the database - perhaps it should also signal to instructor's and student's app, and so whenever they open it, the course will be deleted and will not show on their apps.

With this, the size of the FIrebase will be defined by the number of active courses.
In addition, we have table of users (faculty/students) which keeps increasing - i.e. as they download ALT, their record will be there. This will keep increasing.

With these, we can estimate the size of Firebase database for N active courses (assuming some average no of students in each), and for M users. And can estimate the cost for different values of N, with M increasing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Enhancement: HighThe feature must be implemented as soon as possible and must be included in the next release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions