Data Management Plan (Iteration 1) - s566466div/GDP-Project-EduLearn-03 GitHub Wiki
Data Management Plan (Iteration 1)
Summary of Data to Store:
-
User Data:
- User ID (VARCHAR) (P.K)
- Email (VARCHAR)
- Password (VARCHAR)
- User type (student or instructor)(String)
- Name (String)
-
Course Data:
- Course ID (Integer) (P.K)
- User ID (VARCHAR) (F.K)
- Course name (String)
- Course description (String)
- Enrollment status(String or Boolean)
-
Course Content:
- Content ID (Integer) (P.K)
- Course ID (Integer) (F.K)
- Content type (String: "video lectures", "reading materials", "quizzes", "assignments")
- Content title (String)
- Content file path (String)
-
Quizzes
- Quiz ID (Integer) (P.K)
- Course ID (Integer) (F.K)
- Quiz Title (String)
- Description (String)
- Due Date (Date or Date Time)
- Maximum Score (Float or Integer)
-
Assignments
- Assignment ID (Integer) (P.K)
- Course ID (Integer) (F.K)
- Assignment Title (String)
- Description (String)
- Due Date (Date or Date Time)
- Maximum Score (Float or Integer)
-
User Progress:
- User ID (VARCHAR) (P.K,F.K1)
- Course ID (Integer) (P.K,F.K2)
- Completed tasks (Integer)
- Pending tasks (Integer)
- Progress percentage (Float or Integer, representing percentage)
Initial Plans for Data Security:
1. User Authentication:
- Securely store user's passwords using encryption techniques.
2. Role-Based Access Control (RBAC):
- Assign roles (student, instructor) to users to control access to specific features. Ensure that only authorized users can access restricted functionalities.
3. Encryption:
- Encrypt sensitive data (e.g., passwords, user progress) using strong encryption methods. Use HTTPS to secure data transmission between clients and the server.
4. Database Security:
- Control access to the database to limit who can interact with it directly. Keep the database software up to date with regular updates and patches.
5. Data Backups:
- Regularly backup data to prevent loss due to accidents or security breaches.
Mapping of Functional Requirements to Data Storage:
- User Registration:
- Data Stored: (User ID, password , User Type ,Name, Email) are stored in the database.
- User Authentication :
- Data Stored: User credentials (email and password) for authentication.
- Course Catalog :
- Data Stored: Course information such as course ID, name, and description.
- Course Enrollment :
- Data Stored: Enrollment status of users in courses.
- Course Content :
- Data Stored: Course content information including content type(Lecture Videos, Reading materials, quizzes and assignments), title, and file path.
- Quizzes and Assignments :
- Data Stored: Quiz and assignment details such as ID, title, description, due date, and maximum score.
- Data Encryption :
- Data Stored: Sensitive user information (e.g., passwords) and academic records encrypted using strong encryption methods.
- Database Security :
- Data Stored: Implement access controls at the database level to restrict unauthorized access.
- Course Dashboard:
- Data Stored: Structured information regarding course content, user progress, and user interactions.