diff --git a/.github/helper/install_dependencies.sh b/.github/helper/install_dependencies.sh index 574144b82..beb0cd340 100644 --- a/.github/helper/install_dependencies.sh +++ b/.github/helper/install_dependencies.sh @@ -5,7 +5,7 @@ echo "Setting Up System Dependencies..." sudo apt update sudo apt remove mysql-server mysql-client -sudo apt install libcups2-dev redis-server mariadb-client-10.6 +sudo apt-get install libcups2-dev redis-server mariadb-client install_wkhtmltopdf() { wget -q https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index f093e55ac..e5d9171b2 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -24,7 +24,7 @@ jobs: services: mariadb: - image: mariadb:10.6 + image: mariadb:10.8 env: MARIADB_ROOT_PASSWORD: 123 ports: diff --git a/README.md b/README.md index be054c583..6b06f4769 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ ## Frappe Learning Frappe Learning is an easy-to-use learning system that helps you bring structure to your content. -## Motivation +### Motivation In 2021, we were looking for a Learning Management System to launch [Mon.School](https://mon.school) for FOSS United. We checked out Moodle, but it didn’t feel right. The forms were unnecessarily lengthy and the UI was confusing. It shouldn't be this hard to create a course right? So I started making a learning system for Mon.School which soon became a product in itself. The aim is to have a simple platform that anyone can use to launch a course of their own and make knowledge sharing easier. -## Key Features +### Key Features - **Structured Learning**: Design a course with a 3-level hierarchy, where your courses have chapters and you can group your lessons within these chapters. This ensures that the context of the lesson is set by the chapter. @@ -67,7 +67,7 @@ In 2021, we were looking for a Learning Management System to launch [Mon.School] -## Under the Hood +### Under the Hood - [**Frappe Framework**](https://github.com/frappe/frappe): A full-stack web application framework. diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index a01fdb844..5473e7b20 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" name: lms services: mariadb: - image: mariadb:10.6 + image: mariadb:10.8 command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue index 3d898d219..8717306b8 100644 --- a/frontend/src/components/BatchStudents.vue +++ b/frontend/src/components/BatchStudents.vue @@ -52,7 +52,7 @@ {{ row[column.key] }}
- {{ Math.ceil(row.courses[column.key]) }}% + {{ Math.ceil(row.courses[column.key]) }}
{{ row.assessments[column.key] }} -
{{ parseInt(row.assessments[column.key]) }}%
+
{{ parseInt(row.assessments[column.key]) }}
@@ -134,22 +134,10 @@ const getStudentColumns = () => { { label: 'Full Name', key: 'full_name', - width: '10rem', + width: '15rem', }, ] - if (students.data?.[0].courses) { - Object.keys(students.data?.[0].courses).forEach((course) => { - columns.push({ - label: course, - key: course, - width: '10rem', - icon: 'book-open', - align: 'center', - }) - }) - } - if (students.data?.[0].assessments) { Object.keys(students.data?.[0].assessments).forEach((assessment) => { columns.push({ @@ -163,6 +151,19 @@ const getStudentColumns = () => { }) }) } + + if (students.data?.[0].courses) { + Object.keys(students.data?.[0].courses).forEach((course) => { + columns.push({ + label: course, + key: course, + width: '10rem', + icon: 'book-open', + align: 'center', + }) + }) + } + return columns } diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue index 50673e82e..790153c4e 100644 --- a/frontend/src/components/CourseCard.vue +++ b/frontend/src/components/CourseCard.vue @@ -59,7 +59,7 @@
diff --git a/frontend/src/components/Modals/ExplanationVideos.vue b/frontend/src/components/Modals/ExplanationVideos.vue index b6e7ceef4..2f362cb49 100644 --- a/frontend/src/components/Modals/ExplanationVideos.vue +++ b/frontend/src/components/Modals/ExplanationVideos.vue @@ -26,7 +26,7 @@ const props = defineProps({ required: true, }, title: { - type: String, + type: [String, null], required: true, }, }) diff --git a/frontend/src/pages/CourseForm.vue b/frontend/src/pages/CourseForm.vue index b4de038fa..79b58638f 100644 --- a/frontend/src/pages/CourseForm.vue +++ b/frontend/src/pages/CourseForm.vue @@ -133,8 +133,8 @@
@@ -288,6 +288,7 @@ const course = reactive({ video_link: '', course_image: null, tags: '', + category: '', published: false, published_on: '', featured: false, diff --git a/frontend/src/pages/LessonForm.vue b/frontend/src/pages/LessonForm.vue index ed83bf049..7ef014b9c 100644 --- a/frontend/src/pages/LessonForm.vue +++ b/frontend/src/pages/LessonForm.vue @@ -132,6 +132,7 @@ const renderEditor = (holder) => { holder: holder, tools: getEditorTools(true), autofocus: true, + defaultBlock: 'markdown', }) } diff --git a/frontend/src/pages/QuizSubmissionList.vue b/frontend/src/pages/QuizSubmissionList.vue index 6aeea2868..e9a06fdb4 100644 --- a/frontend/src/pages/QuizSubmissionList.vue +++ b/frontend/src/pages/QuizSubmissionList.vue @@ -5,6 +5,9 @@
+
+ {{ submissions.data[0].quiz_title }} +
+
+ +