Coder Social home page Coder Social logo

leemonade / leemons Goto Github PK

View Code? Open in Web Editor NEW
192.0 4.0 60.0 88.35 MB

πŸš€ The Powerful, flexible, user-friendly and open source Learning Experience Platform built entirely in Javascript 😎

Home Page: https://www.leemons.io

License: Other

Dockerfile 0.01% HTML 0.32% JavaScript 99.04% CSS 0.12% Shell 0.13% MDX 0.36% Mermaid 0.02%
learning lms react nodejs koa content-management javascript lxp api learning-management-system

leemons's Introduction

Leemons

GitHub contributors CircleCI build

The powerful flexible friendly Learning Experience Platform you’re waiting for.

  • Keep control over your data. With Leemons, you know where your data is stored, and you keep full control at all times.
  • Self-hosted. You can host and scale Leemons the way you want. You can choose any hosting platform you want: AWS, a VPS, or a dedicated server. You can scale as you grow, 100% independent.
  • Customizable. You can quickly build your logic by fully customizing plugins to fit your needs perfectly.

πŸš€ Installation

Complete installation and requirements can be found in the documentation under Installation

Supported operating systems:

  • Ubuntu LTS/Debian 9.x
  • CentOS/RHEL 8
  • macOS Mojave
  • Windows 10
  • Docker

(Please note that Leemons may work on other operating systems, but these are not tested nor officially supported at this time.)

Node:

  • NodeJS >= 18.x
  • NPM >= 7.x

Database:

  • MongoDB

Features

See feature list at Overview

Contributors

Contributing

Please read our Contributing Guide before submitting a Pull Request to the project.

Community support

For general help using Leemons, please refer to - the official Leemons documentation -. For additional help, you can use one of these channels to ask a question:

  • GitHub (Bug reports, Contributions)
  • Discord (Community support)

Star History

Star History Chart

License

Important Notice: Licensing Change

⚠️ Breaking Changes: Please be aware that we've updated the licensing terms for this project.

πŸ“ Previous License: The project was previously licensed under the MIT License.

πŸ” New License: We have transitioned to a fair code distributed under the Sustainable Use License for sustainability and alignment with our focus on educational initiatives.

Impact on Usage

🚫 Restricted Use: The Fair Code License is intended for professionals in the field of education and teaching.

🚫 Non-Commercial Distribution: Any distribution or sharing of the software or derivative works must be done free of charge and for non-commercial purposes.

πŸ’Ό Potential Costs: Depending on usage metrics, there may be associated costs or royalties. Please review the LICENSE terms for more details.

πŸ” Legal Advice: If you have any questions or concerns about the license change, consider seeking legal advice to ensure compliance with the new terms.

πŸ‘ Thank You: We appreciate your understanding and continued support as we strive to improve and sustain this project for the benefit of educational initiatives.

leemons's People

Contributors

adolfojulcamoro avatar albert-araque avatar alorle avatar cerberupo avatar cerberupoleemons avatar dependabot[bot] avatar diegogd avatar fermarinsanchez avatar fossabot avatar github-actions[bot] avatar johan-fx avatar miguelez11 avatar paola-pc avatar rovilram avatar salugral avatar teacher-dan avatar turbobot-temp avatar volcanos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

leemons's Issues

Dependencies installation does not detect Python 3

having and error while installing yarn in /examples/demo

after some loading i get this error >>

error /home/aradwan/LMS/leemons-main/node_modules/youtube-dl-exec: Command failed. Exit code: 1 Command: npx bin-version-check-cli python ">=2" Arguments: Directory: /home/aradwan/LMS/leemons-main/node_modules/youtube-dl-exec Output: Error: Couldn't find the python binary. Make sure it's installed and in your $PATH.

Error Message "grade" Must Be a String Prevents Rule Creation in Promotion Rules Page

When attempting to create a new rule on the Promotion Rules page under Academic Rules, an error message consistently occurs, stating that "/grade" must be a string. As a result, it is not possible to create a new rule successfully, despite filling in all the necessary details.

Steps to Reproduce:

  1. Log in to the platform using the admin account.
  2. Navigate to the Promotion Rules page under Academic Rules.
  3. Attempt to create a new rule by providing all the required information, including the grade.

Expected Behavior:

  1. The new rule should be created without any errors, and the grade field should accept the input.

Actual Behavior:

  1. When attempting to create a new rule, the error message "/grade: must be a string" appears consistently, preventing the successful creation of the rule.

This error hinders the admin's ability to set up promotion rules effectively, which are crucial for managing academic progression and assessments. Resolving this issue will allow admins to create new promotion rules with the correct grade values and ensure smooth academic rule management on the platform. Please investigate and resolve this problem to enable the creation of new rules without encountering the "/grade: must be a string" error message.

https://www.loom.com/share/8a228c30147b4783a28c4bd7de87f941

Blank Screen Encountered When Accessing Media Library with Admin Account

An issue has been identified when attempting to access the media library using the admin account, causing the entire screen to go blank. As a result, no content or media assets are displayed within the media library, rendering it inaccessible to the admin account.

Steps to Reproduce:

  1. Log in to the platform using the admin account.
  2. Navigate to the media library section.
  3. Attempt to access the media library.

Expected Behavior:

  1. Upon accessing the media library, all media assets and files should be displayed and accessible to the admin account.

Actual Behavior:

  1. When attempting to access the media library, the entire screen goes blank, and no media assets or content are visible.

This issue severely hampers the admin account's ability to manage media assets and content on the platform. As an admin, having access to the media library is essential for adding, removing, and organizing multimedia resources efficiently. It is crucial to investigate and resolve this problem promptly to restore proper functionality and visibility of the media library for the admin account. Please address this issue to ensure that the media library can be accessed without encountering a blank screen.

https://www.loom.com/share/9e713155fb534b6bb9c1ac8284829b41

Branch name: dev

Error en menu-builder

Al momento de ejecutar la primera parte (el back, con el comando yarn dev) se estΓ‘ presentado el siguiente error:

Error: Menu item with key 'plugins.scores.scores' for menu 'plugins.menu-builder.main' not exists

Lo que visto es que esa key no se ha registrado en base de datos y por eso falla, pero no sΓ© en que momento se debe hacer ese registro de base de datos. Estoy haciendo uso de la rama main, que veo ha sido recientemente mergeada desde la rama demo.

Adicionalmente, les comento que este error no se presentada antes de que hagan el merge desde demo.

What branch to use for development

Hello πŸ‘‹πŸΌπŸ˜

I'm wondering what branch should I clone to make changes and actually use it in production ? I'm trying to add and remove some features that are not needed for now. should I clone the demo or master branch ?

System Limit Exceeded

image

When I ran yarn start it run but for yarn dev in examples/demo it says error with error message System Limit Exceeded

Dropdown Becomes Unreadable in Promotion Rules Page After Page Refresh

An issue has been identified on the Promotion Rules page where the dropdown menu becomes unreadable and possibly dysfunctional after refreshing the page in the web browser. This problem affects the user's ability to view and interact with the dropdown options, impacting the proper setup and management of promotion rules.

Steps to Reproduce:

  1. Log in to the platform using the admin account.
  2. Navigate to the Promotion Rules page under Academic Rules.
  3. Interact with the dropdown menu to set up or modify a promotion rule.
  4. Refresh the page in the web browser (e.g., by clicking the browser's refresh button or using the keyboard shortcut).

Expected Behavior:

  1. After refreshing the page, the dropdown menu on the Promotion Rules page should remain fully functional and readable, allowing the user to select and modify rule-related options.

Actual Behavior:

  1. Upon refreshing the page in the web browser, the dropdown menu on the Promotion Rules page becomes unreadable or partially dysfunctional, hindering the user from viewing and selecting options.

This issue disrupts the admin's ability to efficiently manage promotion rules on the platform. A clear and functional dropdown menu is vital for ensuring smooth academic rule configuration and accurate promotion rule settings. It is essential to investigate and rectify this problem to restore the readability and functionality of the dropdown menu on the Promotion Rules page after page refreshes. Please address this issue to improve the user experience and usability of the Promotion Rules feature.

https://www.loom.com/share/2d943de0690547ebbf4ff13592aeff26

Error al cargar la aplicaciΓ³n por primera vez

Al cargar la aplicaciΓ³n y luego de elegir el idioma se muestra la pΓ‘gina /admin/signup pero solo se muestra el spinner de cargando. Estoy trabajando con la rama "demo" y estoy realizando una instalaciΓ³n nueva, desde cero.

Scroll Option Unavailable on Learning Programs Page - Unable to Add or Remove Programs

After adding several programs to the Learning Programs page using the admin account, the scroll option is no longer available, preventing further navigation and access to the "Add New Program" button. Additionally, there is no option provided to remove mistakenly added programs from the page.

Steps to Reproduce:

  1. Log in to the platform using the admin account.
  2. Navigate to the Learning Programs page.
  3. Add multiple programs, causing the page to exceed the available space, and disable the scroll option.
  4. Attempt to scroll down the page to access additional content or the "Add New Program" button.
  5. Realize that there is no option available to remove mistakenly added programs from the Learning Programs page.

Expected Behavior:

  1. The Learning Programs page should have a functional scroll option to navigate through all the programs, even when the list becomes lengthy.
  2. There should be an option to remove mistakenly added programs to maintain an accurate and organized list.

Actual Behavior:

  1. The scroll option is not working on the Learning Programs page, making it impossible to view all the programs added when the list exceeds the available space.
  2. There is no option provided to remove mistakenly added programs from the Learning Programs page.

This issue significantly hampers the admin's ability to manage and maintain the Learning Programs list. Without the ability to scroll and access the "Add New Program" option, adding new programs becomes challenging. Additionally, the absence of an option to remove mistakenly added programs hinders the ability to keep the list accurate and organized. It is crucial to address these issues promptly to ensure smooth program management and enhance the user experience on the Learning Programs page. Please investigate and implement the necessary fixes to restore the scroll option and provide an option to remove programs from the Learning Programs page.

Blank pages loading

Hi!

I am getting a blank page when going to http://localhost:8080, http://localhost:8080/admin and http://localhost:3000. And below are the logs from the "yarn dev" server when loading localhost:8080.

Listening on http://localhost:8080
[Remember email] Nothing to send
2023-10-31T06:45:50.953Z HTTP    Start connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (/home/ubuntu/my-leemons/node_modules/jsonwebtoken/verify.js:53:17)
    at VM2 Wrapper.apply (/home/ubuntu/my-leemons/node_modules/vm2/lib/bridge.js:485:11)
    at verifyJWTToken (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/verifyJWTToken.js:11:27)
    at async Proxy.detailForJWT (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/detailForJWT.js:17:19)
2023-10-31T06:45:50.981Z HTTP      End connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180 41 ms
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (/home/ubuntu/my-leemons/node_modules/jsonwebtoken/verify.js:53:17)
    at VM2 Wrapper.apply (/home/ubuntu/my-leemons/node_modules/vm2/lib/bridge.js:485:11)
    at verifyJWTToken (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/verifyJWTToken.js:11:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Proxy.detailForJWT (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/detailForJWT.js:17:19)
2023-10-31T06:45:51.161Z HTTP    Start connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180
2023-10-31T06:45:51.165Z HTTP    Start connection to GET /api/users/platform/theme from ::ffff:125.63.97.180
2023-10-31T06:45:51.181Z HTTP      End connection to GET /api/users/platform/theme from ::ffff:125.63.97.180 17 ms
2023-10-31T06:45:51.188Z HTTP      End connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180 28 ms
2023-10-31T06:45:51.475Z HTTP    Start connection to GET /api/admin/organization/jsonTheme from ::ffff:125.63.97.180
2023-10-31T06:45:51.478Z HTTP      End connection to GET /api/admin/organization/jsonTheme from ::ffff:125.63.97.180 12 ms
2023-10-31T06:45:51.894Z HTTP    Start connection to GET /api/admin/i18n/welcome/en from ::ffff:125.63.97.180
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (/home/ubuntu/my-leemons/node_modules/jsonwebtoken/verify.js:53:17)
    at VM2 Wrapper.apply (/home/ubuntu/my-leemons/node_modules/vm2/lib/bridge.js:485:11)
    at verifyJWTToken (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/verifyJWTToken.js:11:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Proxy.detailForJWT (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/detailForJWT.js:17:19)
2023-10-31T06:45:51.897Z HTTP    Start connection to GET /api/users/user from ::ffff:125.63.97.180
2023-10-31T06:45:51.897Z HTTP      End connection to GET /api/users/user from ::ffff:125.63.97.180 1 ms
2023-10-31T06:45:51.899Z HTTP      End connection to GET /api/admin/i18n/welcome/en from ::ffff:125.63.97.180 5 ms
2023-10-31T06:45:52.186Z HTTP    Start connection to GET /api/admin/settings from ::ffff:125.63.97.180
2023-10-31T06:45:52.189Z HTTP      End connection to GET /api/admin/settings from ::ffff:125.63.97.180 5 ms
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (/home/ubuntu/my-leemons/node_modules/jsonwebtoken/verify.js:53:17)
    at VM2 Wrapper.apply (/home/ubuntu/my-leemons/node_modules/vm2/lib/bridge.js:485:11)
    at verifyJWTToken (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/verifyJWTToken.js:11:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Proxy.detailForJWT (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/detailForJWT.js:17:19)
2023-10-31T06:45:52.274Z HTTP    Start connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180
2023-10-31T06:45:52.298Z HTTP      End connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180 23 ms
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (/home/ubuntu/my-leemons/node_modules/jsonwebtoken/verify.js:53:17)
    at VM2 Wrapper.apply (/home/ubuntu/my-leemons/node_modules/vm2/lib/bridge.js:485:11)
    at verifyJWTToken (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/verifyJWTToken.js:11:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Proxy.detailForJWT (/home/ubuntu/my-leemons/packages/leemons-plugin-users/src/services/users/jwt/detailForJWT.js:17:19)
2023-10-31T06:45:52.500Z HTTP    Start connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180
2023-10-31T06:45:52.516Z HTTP      End connection to POST /api/multilanguage/common/logged from ::ffff:125.63.97.180 19 ms

Frontend Issue

frontend_issue_leemons.mp4

Help to solve this when I login and perform 1st step for setup then for 2nd step it shows blank page?

"Invite Other Users" Dropdown Not Displaying Users in Calendar Page - Unable to Invite Users to Events or Tasks

An issue has been identified on the Calendar page, where the "Invite Other Users" dropdown fails to display any users when attempting to add an event or task and assign it to specific students. As a consequence, it is currently impossible to invite any users to events or tasks through the platform.

Steps to Reproduce:

  1. Log in to the platform.
  2. Navigate to the Calendar page.
  3. Attempt to add a new event or task.
  4. While creating the event or task, try to use the "Invite Other Users" dropdown to select and assign specific students.
  5. Observe that no users are displayed in the "Invite Other Users" dropdown.

Expected Behavior:

  1. When adding a new event or task, the "Invite Other Users" dropdown should display a list of available users, enabling the selection and assignment of specific students.

Actual Behavior:

  1. The "Invite Other Users" dropdown does not display any users when creating a new event or task, making it impossible to invite and assign students to the event or task.

This issue severely hampers the platform's collaborative and scheduling functionalities, preventing proper event and task coordination among users. It is crucial to investigate and resolve this problem to ensure that the "Invite Other Users" dropdown correctly displays available users, allowing for efficient assignment and coordination of events and tasks. Please address this issue promptly to enhance the usability and effectiveness of the Calendar page.

https://www.loom.com/share/16dbd5adaef54f408fe618d6d53ac1f4

Blank Screen after first step

I filled the details on Organization step and clicked continue but now I can see only a blank screen on every route, also tried to logout

Error "elm.focus is not a function" Prevents Task Creation with Evaluation Option

When attempting to create a new task in the Task Library and enabling the "Evaluation" option, an error occurs with the message "elm.focus is not a function." This issue is consistently observed for both admin and tutor accounts, preventing the successful creation of tasks with the evaluation feature enabled.

Steps to Reproduce:

  1. Log in to the platform using either the admin or tutor account.
  2. Navigate to the Task Library.
  3. Attempt to create a new task by enabling the "Evaluation" option.
  4. Encounter the error message "elm.focus is not a function."

Expected Behavior:

  1. Enabling the "Evaluation" option while creating a new task should not result in any errors, and the task should be created successfully.

Actual Behavior:

  1. Attempting to create a new task with the "Evaluation" option enabled results in the error message "elm.focus is not a function," preventing successful task creation.

This error disrupts the task creation process and inhibits the use of the evaluation feature, which is essential for effective educational management. Addressing this issue is crucial to ensure that tasks with evaluation enabled can be created without encountering the "elm.focus is not a function" error message. Please investigate and resolve this problem to restore the proper functionality of task creation with evaluation enabled in the Task Library for both admin and tutor accounts.

https://www.loom.com/share/5e70583b62a64b088449fd0ebc6f45cf

Unable to assign tasks to students - "An error occurred while getting assignables"

I am experiencing difficulties assigning tasks to students using the tutor account. Whenever I attempt to assign a task, I receive the following error message: "An error occurred while getting assignables." I have also attempted to assign the same task by creating a custom group, but unfortunately, the same error message persists. As a result, it is currently impossible to assign tasks to students.

This issue significantly hampers the functionality and effectiveness of the platform in facilitating task management and student engagement. It would be immensely helpful if this issue could be investigated and resolved promptly, enabling tutors to assign tasks to students without encountering any errors.

Video Not Displayed in "Media Files" and "Shared with Me" Sections for Student Account

An issue has been identified where a video uploaded from the admin account and marked as "public" is not appearing in the "Media Files" and "Shared with Me" sections when accessed from a student account. The expected behavior is that the video should be visible and accessible to all users once it has been marked as public.

Steps to Reproduce:

  1. Log in to the admin account.
  2. Upload a video to the platform and set its visibility to "public."
  3. Log out from the admin account.
  4. Log in to a student account.
  5. Navigate to the "Media Files" section and search for the uploaded video.
  6. Check the "Shared with Me" section to see if the video is visible there.

Expected Behavior:

  1. The video uploaded from the admin account and marked as "public" should be visible in both the "Media Files" and "Shared with Me" sections when accessed from a student account.

Actual Behavior:

  1. Despite setting the video as "public," it is not displayed in the "Media Files" and "Shared with Me" sections for the student account.

This issue restricts students from accessing videos that have been designated as public, limiting their ability to benefit from shared educational content. Resolving this problem is essential to ensure that videos marked as public are accessible to all users, promoting an inclusive and collaborative learning environment. Please investigate and rectify this issue to enable students to view and access videos that are publicly available to them.

https://www.loom.com/share/948e97c000e84eb1bc0fe71985959cd2?sid=3dc69291-b55e-4ccb-a06e-2fbebfb88028

Error at bulk loading which avoid leemons to start

During first initialization of the docker it breaks during bulk-template initialization.

CLICK to see error log

This is the log after initializing all the plugins

docker-leemons-back-1          | 2022-07-20T17:00:26.506Z INFO    Listening on http://localhost:8080
docker-leemons-back-1          | 2022-07-20T17:00:27.898Z INFO    plugins.bulk-template emitted init-providers
docker-leemons-back-1          | 2022-07-20T17:00:27.898Z INFO    BULK Providers initialized
docker-leemons-back-1          | 2022-07-20T17:00:27.900Z DEBUG   BULK Starting Users plugin ...
docker-leemons-back-1          | 2022-07-20T17:00:28.460Z INFO    Creating center 'Leemons Spain'
docker-leemons-back-1          | 2022-07-20T17:00:28.501Z DEBUG   plugins.users emitted didCreateCenter 0ms
docker-leemons-back-1          | 2022-07-20T17:00:28.512Z INFO    plugins.bulk-template emitted init-centers
docker-leemons-back-1          | 2022-07-20T17:00:28.882Z INFO    Creating role 'profile:ca6cd058-f23e-4b1a-b602-ddd80cceaf79:role'
docker-leemons-back-1          | 2022-07-20T17:00:28.961Z INFO    Creating role 'ca6cd058-f23e-4b1a-b602-ddd80cceaf79:89440e2c-4825-4e56-8656-ef12e8dd0553'
docker-leemons-back-1          | 2022-07-20T17:00:28.973Z INFO    plugins.users emitted profile-permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.295Z INFO    plugins.curriculum emitted permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.304Z INFO    Creating role 'profile:5d1ff8ef-738a-4ee3-93ee-93fcd7f8f566:role'
docker-leemons-back-1          | 2022-07-20T17:00:29.384Z INFO    Creating role '5d1ff8ef-738a-4ee3-93ee-93fcd7f8f566:89440e2c-4825-4e56-8656-ef12e8dd0553'
docker-leemons-back-1          | 2022-07-20T17:00:29.398Z INFO    plugins.users emitted profile-permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.421Z INFO    plugins.curriculum emitted permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.439Z INFO    Creating role 'profile:1bc6559f-d439-4ec4-bffe-67eee6bdf816:role'
docker-leemons-back-1          | 2022-07-20T17:00:29.516Z INFO    Creating role '1bc6559f-d439-4ec4-bffe-67eee6bdf816:89440e2c-4825-4e56-8656-ef12e8dd0553'
docker-leemons-back-1          | 2022-07-20T17:00:29.528Z INFO    plugins.users emitted profile-permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.561Z INFO    plugins.curriculum emitted permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.577Z INFO    Creating role 'profile:ce9a7584-b08e-4b93-97d9-5dcf6995cc89:role'
docker-leemons-back-1          | 2022-07-20T17:00:29.632Z INFO    Creating role 'ce9a7584-b08e-4b93-97d9-5dcf6995cc89:89440e2c-4825-4e56-8656-ef12e8dd0553'
docker-leemons-back-1          | 2022-07-20T17:00:29.644Z INFO    plugins.users emitted profile-permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.652Z INFO    plugins.bulk-template emitted init-profiles
docker-leemons-back-1          | 2022-07-20T17:00:29.674Z INFO    plugins.curriculum emitted permissions-change
docker-leemons-back-1          | 2022-07-20T17:00:29.989Z DEBUG   Batch processing users ...
docker-leemons-back-1          | 2022-07-20T17:00:29.989Z DEBUG   Adding user: Super
docker-leemons-back-1          | 2022-07-20T17:00:30.179Z INFO    User ADDED: Super
docker-leemons-back-1          | 2022-07-20T17:00:30.190Z DEBUG   Adding user: EstefanΓ­a
docker-leemons-back-1          | HTTPError: Response code 403 (Forbidden)
docker-leemons-back-1          |     at Request._onResponseBase (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:905:31)
docker-leemons-back-1          |     at Request._onResponse (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:940:24)
docker-leemons-back-1          |     at ClientRequest.<anonymous> (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:954:23)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at Object.onceWrapper (node:events:642:26)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at ClientRequest.emit (node:events:539:35)
docker-leemons-back-1          |     at ClientRequest.emit (node:domain:475:12)
docker-leemons-back-1          |     at ClientRequest.wrappedEmit (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/http-shared.js:187:21)
docker-leemons-back-1          |     at ClientRequest.origin.emit (/monorepo/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
docker-leemons-back-1          |     at HTTPParser.parserOnIncomingClient (node:_http_client:631:27)
docker-leemons-back-1          |     at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)
docker-leemons-back-1          |     at TLSSocket.socketOnData (node:_http_client:494:22)
docker-leemons-back-1          |     at TLSSocket.emit (node:events:527:28)
docker-leemons-back-1          |     at TLSSocket.emit (node:domain:475:12)
docker-leemons-back-1          |     at addChunk (node:internal/streams/readable:315:12)
docker-leemons-back-1          |     at readableAddChunk (node:internal/streams/readable:289:9)
docker-leemons-back-1          |     at TLSSocket.Readable.push (node:internal/streams/readable:228:10)
docker-leemons-back-1          |     at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
docker-leemons-back-1          |     at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) {
docker-leemons-back-1          |   code: 'ERR_NON_2XX_3XX_RESPONSE',
docker-leemons-back-1          |   timings: {
docker-leemons-back-1          |     start: 1658336430297,
docker-leemons-back-1          |     socket: 1658336430303,
docker-leemons-back-1          |     lookup: 1658336430429,
docker-leemons-back-1          |     connect: 1658336430508,
docker-leemons-back-1          |     secureConnect: 1658336430672,
docker-leemons-back-1          |     upload: 1658336430673,
docker-leemons-back-1          |     response: 1658336430771,
docker-leemons-back-1          |     end: 1658336430774,
docker-leemons-back-1          |     error: undefined,
docker-leemons-back-1          |     abort: 1658336430779,
docker-leemons-back-1          |     phases: {
docker-leemons-back-1          |       wait: 6,
docker-leemons-back-1          |       dns: 126,
docker-leemons-back-1          |       tcp: 79,
docker-leemons-back-1          |       tls: 164,
docker-leemons-back-1          |       request: 1,
docker-leemons-back-1          |       firstByte: 98,
docker-leemons-back-1          |       download: 3,
docker-leemons-back-1          |       total: 482
docker-leemons-back-1          |     }
docker-leemons-back-1          |   }
docker-leemons-back-1          | }
docker-leemons-back-1          | HTTPError: Response code 403 (Forbidden)
docker-leemons-back-1          |     at Request._onResponseBase (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:905:31)
docker-leemons-back-1          |     at Request._onResponse (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:940:24)
docker-leemons-back-1          |     at ClientRequest.<anonymous> (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:954:23)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at Object.onceWrapper (node:events:642:26)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at ClientRequest.emit (node:events:539:35)
docker-leemons-back-1          |     at ClientRequest.emit (node:domain:475:12)
docker-leemons-back-1          |     at ClientRequest.wrappedEmit (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/http-shared.js:187:21)
docker-leemons-back-1          |     at ClientRequest.origin.emit (/monorepo/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
docker-leemons-back-1          |     at HTTPParser.parserOnIncomingClient (node:_http_client:631:27)
docker-leemons-back-1          |     at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)
docker-leemons-back-1          |     at TLSSocket.socketOnData (node:_http_client:494:22)
docker-leemons-back-1          |     at TLSSocket.emit (node:events:527:28)
docker-leemons-back-1          |     at TLSSocket.emit (node:domain:475:12)
docker-leemons-back-1          |     at addChunk (node:internal/streams/readable:315:12)
docker-leemons-back-1          |     at readableAddChunk (node:internal/streams/readable:289:9)
docker-leemons-back-1          |     at TLSSocket.Readable.push (node:internal/streams/readable:228:10)
docker-leemons-back-1          |     at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
docker-leemons-back-1          |     at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) {
docker-leemons-back-1          |   code: 'ERR_NON_2XX_3XX_RESPONSE',
docker-leemons-back-1          |   timings: {
docker-leemons-back-1          |     start: 1658336430297,
docker-leemons-back-1          |     socket: 1658336430303,
docker-leemons-back-1          |     lookup: 1658336430429,
docker-leemons-back-1          |     connect: 1658336430508,
docker-leemons-back-1          |     secureConnect: 1658336430672,
docker-leemons-back-1          |     upload: 1658336430673,
docker-leemons-back-1          |     response: 1658336430771,
docker-leemons-back-1          |     end: 1658336430774,
docker-leemons-back-1          |     error: undefined,
docker-leemons-back-1          |     abort: 1658336430779,
docker-leemons-back-1          |     phases: {
docker-leemons-back-1          |       wait: 6,
docker-leemons-back-1          |       dns: 126,
docker-leemons-back-1          |       tcp: 79,
docker-leemons-back-1          |       tls: 164,
docker-leemons-back-1          |       request: 1,
docker-leemons-back-1          |       firstByte: 98,
docker-leemons-back-1          |       download: 3,
docker-leemons-back-1          |       total: 482
docker-leemons-back-1          |     }
docker-leemons-back-1          |   }
docker-leemons-back-1          | }
docker-leemons-back-1          | 2022-07-20T17:00:30.791Z ERROR   Response code 403 (Forbidden)
docker-leemons-back-1          | HTTPError: Response code 403 (Forbidden)
docker-leemons-back-1          |     at Request._onResponseBase (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:905:31)
docker-leemons-back-1          |     at Request._onResponse (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:940:24)
docker-leemons-back-1          |     at ClientRequest.<anonymous> (/monorepo/packages/leemons-utils/node_modules/got/dist/source/core/index.js:954:23)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at Object.onceWrapper (node:events:642:26)
docker-leemons-back-1          |     at /monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:49
docker-leemons-back-1          |     at AsyncHooksRunContextManager.with (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/BasicRunContextManager.js:59:17)
docker-leemons-back-1          |     at ClientRequest.wrapper (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/run-context/AbstractRunContextManager.js:76:23)
docker-leemons-back-1          |     at ClientRequest.emit (node:events:539:35)
docker-leemons-back-1          |     at ClientRequest.emit (node:domain:475:12)
docker-leemons-back-1          |     at ClientRequest.wrappedEmit (/monorepo/node_modules/elastic-apm-node/lib/instrumentation/http-shared.js:187:21)
docker-leemons-back-1          |     at ClientRequest.origin.emit (/monorepo/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
docker-leemons-back-1          |     at HTTPParser.parserOnIncomingClient (node:_http_client:631:27)
docker-leemons-back-1          |     at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)
docker-leemons-back-1          |     at TLSSocket.socketOnData (node:_http_client:494:22)
docker-leemons-back-1          |     at TLSSocket.emit (node:events:527:28)
docker-leemons-back-1          |     at TLSSocket.emit (node:domain:475:12)
docker-leemons-back-1          |     at addChunk (node:internal/streams/readable:315:12)
docker-leemons-back-1          |     at readableAddChunk (node:internal/streams/readable:289:9)
docker-leemons-back-1          |     at TLSSocket.Readable.push (node:internal/streams/readable:228:10)
docker-leemons-back-1          |     at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
docker-leemons-back-1          |     at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17)

If after the error I try to stop the container and start them again I don't see anything after displaying the message Listening on http://localhost:8000

Following the documentation I used data.xlsx which I edited just changing the school name. And I put it at my-leemons/packages/leemons-plugin-bulk-template/src/bulk/data.xlsx path.

This problem can be reproduced with the original file linked in the documentation.

Blank Screen Encountered when Evaluating Student in "Pending Evaluation"

An issue has been identified while attempting to evaluate a student by clicking on an item in the "Pending Evaluation" section. Upon performing this action, the screen goes blank, and no evaluation interface or content is displayed.

Steps to Reproduce:

  1. Log in to the dashboard using the tutor account.
  2. Navigate to the "Pending Evaluation" section.
  3. Click on an item to evaluate a specific student.

Expected Behavior:
Upon clicking the item in the "Pending Evaluation" section, the evaluation interface should load, allowing the tutor to assess the student's work.

Actual Behavior:
Instead of displaying the evaluation interface, the screen goes completely blank, rendering it impossible to evaluate the student's performance.

This issue severely obstructs the evaluation process and compromises the platform's core functionality for tutors. Timely evaluation and feedback are essential components of the educational experience, and resolving this problem promptly will significantly improve the platform's usability and effectiveness. Please investigate and rectify this issue to ensure that tutors can properly evaluate their students without encountering a blank screen.

https://www.loom.com/share/31c72efc60f243a9876cea6002521533

How to setup a SMPT provider (specially Gmail)

estoy configurando la plataforma y utilice docker-compose para crear los contenedores, el detalle es que no he podido configurar exitosamente un provedor de SMTP siguiendo la guias de GMAIL, me gustaria si me pudieran compartir un ejemplo con https://www.wpoven.com/tools/free-smtp-server-for-testing de como se configura ya que no he podido avanzar de las configuracions para asignar admnistradores porque no llegan los correos para activar las cuentas. saludos :)

image

"Virtual Classroom" Link Redirects to "about:blank" Page in Student Account

When using the admin account to add a meeting link under the "Virtual classroom (video-call link)" section in the "Academic Portfolio Tree" page, the link appears as expected. However, when accessing the student account and clicking on the "Virtual Classroom" link from the student dashboard, it redirects to an "about:blank" page in the Chrome browser. As a result, the student is unable to access the designated virtual classroom.

Steps to Reproduce:

  1. Log in to the platform using the admin account.
  2. Navigate to the "Academic Portfolio Tree" page.
  3. Locate the "Virtual classroom (video-call link)" section under "Groups of classe."
  4. Add a meeting link to the section and click on the "Save Changes" button.
  5. Log out from the admin account.
  6. Log in to the test student account.
  7. Access the student dashboard and click on the "Virtual Classroom" link.

Expected Behavior:

  1. After clicking on the "Virtual Classroom" link from the student dashboard, the designated virtual classroom should open in the browser, allowing the student to join the video-call meeting.

Actual Behavior:

  1. Clicking on the "Virtual Classroom" link from the student dashboard redirects to an "about:blank" page in the Chrome browser, preventing access to the designated virtual classroom.

This issue obstructs students from accessing the virtual classroom for their enrolled programs, hindering their ability to participate in video-call meetings and engage with the learning process effectively. Resolving this problem is crucial to ensure seamless access to virtual classrooms and promote a smooth and interactive learning experience for students. Please investigate and address this issue to enable the "Virtual Classroom" link to function correctly in the student account.

https://www.loom.com/share/7d01be06d0154638a74acad01f4687ba

Adding a new admin user after completing the initial setup fails

Bug: When attempting to add a new admin user, after the super user has completed the initial setup of the app, has logged out, and logs in again, doesn't work. The throws an error of entry.notFound.
When reading the server log, it appears that the backend attempts to edit existing users; that is, it attempts to check if the users exist before editing/creating them.

Possible temporary workaround: Delete all users created in the initial setup. It should let you add new admin users again. (Haven't tested this thoroughly though)

Replicate bug:

1) Install the app with Docker on a Digital Ocean droplet with the following setup:

  • Droplet setup:
    • Ubuntu 18.04 (LTS) x64
    • 2 GB Memory
    • 2 AMD vCPUs
    • 60 GB Disk / SFO3
  • Install docker to the droplet:
    • Docker version 20.10.21, build baeda1f
  • Docker setup:
    • ./Docker-compose.yaml
services:
   mysqldb:
      image: mysql:5.7
      command: --default-authentication-plugin=mysql_native_password
      restart: always
      environment:
         MYSQL_ROOT_PASSWORD: $MYSQLDB_ROOT_PASSWORD
         MYSQL_DATABASE: $MYSQLDB_DATABASE
      ports:
         - $MYSQLDB_LOCAL_PORT:3306
      expose:
         - 3306
      volumes:
         - db:/var/lib/mysql
      healthcheck:
         test: mysqladmin ping -h 127.0.0.1 -uroot --password=$$MYSQL_ROOT_PASSWORD
         timeout: 10s
         retries: 10

   leemons:
      container_name: leemons
      image: leemonade/leemons:dev
      restart: always
      stdin_open: true
      tty: true
      expose:
         - 8080
      ports:
         - $NODE_LOCAL_PORT:8080
      environment:
         DATABASE_HOST: mysqldb
         DATABASE_PORT: 3306
         DATABASE_USERNAME: root
         DATABASE_DATABASE: $MYSQLDB_DATABASE
         DATABASE_PASSWORD: $MYSQLDB_ROOT_PASSWORD
      depends_on:
         mysqldb:
            condition: service_healthy
   nginx:
      container_name: nginx-container #Proxy Server
      build: ./nginx
      expose:
         - 80
      links:
         - leemons
         - nginx-proxy
         - letsencrypt
      environment:
         - VIRTUAL_HOST=example.com
         - LETSENCRYPT_HOST=example.com
      volumes:
         - certs:/etc/nginx_certificate/certs:ro
      restart: always
   nginx-proxy:
      container_name: nginx-proxy
      image: jwilder/nginx-proxy
      restart: always
      ports:
         - '80:80'
         - '443:443'
      volumes:
         - /var/run/docker.sock:/tmp/docker.sock:ro
         - certs:/etc/nginx/certs:ro
         - vhostd:/etc/nginx/vhost.d
         - html:/usr/share/nginx/html
      labels:
         - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
   letsencrypt:
      image: jrcs/letsencrypt-nginx-proxy-companion
      restart: always
      environment:
         - NGINX_PROXY_CONTAINER=nginx-proxy
      volumes:
         - certs:/etc/nginx/certs:rw
         - /var/run/docker.sock:/var/run/docker.sock:ro
         - vhostd:/etc/nginx/vhost.d
         - html:/usr/share/nginx/html

volumes:
   db:
   certs:
   html:
   vhostd:
    • ./nginx/nginx.conf
events{
    worker_connections 768;
}
http{
    upstream backend {
        server leemons:8080;
    }

    upstream frontend {
        server leemons:8080;
    }
    
    server {
    listen 80;
    listen 443 default_server ssl;
    ssl_certificate /etc/nginx_certificate/certs/default.crt;
    ssl_certificate_key /etc/nginx_certificate/certs/default.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    server_name example.com;
    server_tokens off;
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    try_files $uri /index.html =404;

   

    location / {
        proxy_pass http://frontend;
    }

    location /api {
        proxy_pass http://backend;
    }

    }
    • ./nginx/Dockerfile
FROM nginx:alpine

RUN rm /etc/nginx/conf.d/*


COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
    • ./.env
MYSQLDB_USER=root
MYSQLDB_ROOT_PASSWORD=leemons
MYSQLDB_DATABASE=leemons
MYSQLDB_LOCAL_PORT=3307
NODE_LOCAL_PORT=8080

2) Install the app normally on a Macbook Pro M1 running Mac Os Ventura (Version 13.0.1 (22A400))

  • System env:
    • MySql 8.0.31
    • Python 3
    • Node v16.14.2
    • Yarn 1.22.19
  • Clone the leemons repo and checkout the "demo" branch
  • Follow installation instructions from the installation guide
  • Run the app as usual WITHOUT a data.xlsx file

3) Do following steps to replicate bug:

  • Follow the initial setup steps
    • Create at least one new admin user
  • Log out
  • Log in as a super user again
  • Try to add a new admin user
  • Expect to see an error with this message: entry.notFound

yarn install fails to execute on docker script

Initial conditions

It is first execution, so ../examples/docker/monorepo_node_modules is empty.

Context

There is a race condition in the initialization of the docker-compose environment.

During the first execution of docker/start.sh:

docker compose --env-file ../examples/docker/.env up -d --remove-orphans

The leemons-yarn-install container die and following line doesn't executes:

docker compose exec leemons-yarn-install sh installDeps.sh

Solution

One solution is running first this task with a new container

docker compose run leemons-yarn-install sh installDeps.sh

That let the dependencies to be initialized and the container leemons-yarn-install can run executing ./start.sh on docker folder.

Authorization Failed

For admin Signup I am getting loader and when observe in network tab it says Authorization Failed
image

Latest Branch for testing

hi guys πŸ‘‹,
I came across this project while exploring LMS solutions, the functionalities all look fantastic. I tried deploying the main branch for testing, but it was unsuccessful. What is the latest stable branch that I can test out

Newly Created Task Not Reflected in "Tasks Created" Section of Dashboard

Upon creating a new task from the Calendar page, the confirmation message of successful task creation is received. However, upon navigating to the dashboard and checking the "Tasks Created" section under "Activity on the platform," the newly created task is not being reflected. The section displays "Total: 0" and does not provide any information about the recently created task.

Steps to Reproduce:

  1. Log in to the platform.
  2. Navigate to the Calendar page.
  3. Create a new task from the Calendar page.
  4. Receive the confirmation message of the successful task creation.
  5. Navigate to the dashboard.
  6. Observe the "Tasks Created" section under "Activity on the platform."

Expected Behavior:

  1. After creating a new task from the Calendar page, it should be immediately reflected in the "Tasks Created" section of the dashboard under "Activity on the platform."
  2. The "Tasks Created" section should display the total number of tasks created, including the details of the most recently created task.

Actual Behavior:

  1. The "Tasks Created" section in the dashboard displays "Total: 0" and does not provide any information about the newly created task.
  2. Despite receiving a confirmation message for successful task creation, the section does not reflect the addition of the new task.

This discrepancy prevents users from efficiently tracking and monitoring task creation from the dashboard. An accurate representation of created tasks in the "Tasks Created" section is essential for administrators to gauge platform activity and user engagement effectively. Please investigate and resolve this issue to ensure that newly created tasks are appropriately displayed in the "Tasks Created" section of the dashboard.

https://www.loom.com/share/efb1d42c2e20485eb8fd6e46a72f5b20

Missing Backlog Section in Kanban Board - Tasks Not Visible

The Kanban board lacks a dedicated section for "Backlog," which results in newly added tasks being hidden without any visibility on the board. As a result, once a task is added to the backlog, it becomes challenging to track, prioritize, and manage those tasks effectively within the current Kanban setup.

Current Behavior:

  1. Adding a task to the backlog does not make it visible on the Kanban board.
  2. There is no designated section or column for tasks residing in the backlog.

Expected Behavior:

  1. When a task is added to the backlog, it should be clearly visible in a dedicated "Backlog" section on the Kanban board.
  2. Having a distinct backlog section will facilitate task management and enable tutors to prioritize and assign tasks from the backlog when required.

The addition of a backlog section to the Kanban board is crucial for better task organization, workflow management, and ensuring that no tasks go unnoticed or unattended. By incorporating this enhancement, tutors will have a more streamlined experience in managing tasks throughout their lifecycles. Please consider implementing this feature to enhance the overall usability and effectiveness of the Kanban board.

404 when accessing Leemons

Hello devs πŸ‘‹πŸΌ
I got the demo to work by following the installation steps in the docs, but when I go to localhost:8080 I get a 404 page, is it normal ? I tried to dig into the code to see the available paths and I found /admin I'm not sure if its something but it still returns the same page.

By the way, I used the main branch at first and got the same result a 404 error then tried the demo branch and also got the same message.

logs in the demo folder

5418dd95-ec9b-490f-a6f9-80488777033b
{"labels":{"isMaster":false,"pid":19552},"level":"VERBOSE","message":"New leemons","metadata":{},"timestamp":"2022-11-08T08:21:33.703Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted appDidLoadConfig 55ms","metadata":{},"timestamp":"2022-11-08T08:21:34.150Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"WARN","message":"The app is running in insecure mode, this means all the plugins can require any file in your computer","metadata":{},"timestamp":"2022-11-08T08:21:34.156Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted pluginsDidLoad 196ms","metadata":{},"timestamp":"2022-11-08T08:21:34.411Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"plugins loaded in 1ms","metadata":{},"timestamp":"2022-11-08T08:21:34.412Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted providersDidLoad 36ms","metadata":{},"timestamp":"2022-11-08T08:21:34.457Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted didSetMiddlewares 1ms","metadata":{},"timestamp":"2022-11-08T08:21:34.458Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted didSetRoutes 1ms","metadata":{},"timestamp":"2022-11-08T08:21:34.459Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted appDidLoadBack 237ms","metadata":{},"timestamp":"2022-11-08T08:21:34.460Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"providers loaded in 3ms","metadata":{},"timestamp":"2022-11-08T08:21:34.460Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"DEBUG","message":"leemons emitted appDidStart 6ms","metadata":{},"timestamp":"2022-11-08T08:21:34.462Z"}
{"labels":{"isMaster":false,"pid":19552},"level":"INFO","message":"Listening on http://localhost:8080","metadata":{},"timestamp":"2022-11-08T08:21:34.462Z"}

Shared with Me" Library Section Not Functional - No Redirection

The "Shared with Me" section in the library is currently non-functional and fails to redirect users to the expected destination. As a result, users are unable to access and view items or files that have been shared with them by others.

Steps to Reproduce:

  1. Log in to the platform.
  2. Navigate to the library section.
  3. Click on the "Shared with Me" section.

Expected Behavior:

  1. Upon clicking the "Shared with Me" section, users should be redirected to a page displaying items or files that have been shared with them by other users.

Actual Behavior:

  1. Clicking on the "Shared with Me" section does not trigger any redirection or display any content.
  2. Users are unable to access or view items shared with them by others.

The "Shared with Me" functionality is an integral part of the collaboration and file-sharing features, and its current non-functional state severely hinders users from accessing important shared resources. Addressing this issue promptly will significantly enhance the platform's collaborative capabilities and user experience. Please investigate and rectify the problem to restore the "Shared with Me" section's functionality.

https://www.loom.com/share/5c6fd27ea92b475a8579316a7b9c2e20

Cant complete platform setup

Hello again, sorry if to much issue come from me, i hope this is the last, so the issue is I basically have submitted all the configuration, but in the last step when i click submit is still not finish and send me back to platform setup page again, what i see in here is "Finish" section is keep adding,
image

here the video
https://youtu.be/0cJHp7K5CyM

JsonWebTokenError

Getting jwt error in the console and Authorization failed in Network tab.
Screenshot 2023-11-23 122122

Undefined" Displayed Instead of Program Titles in "Tasks Created" Section of Admin Dashboard

Upon logging in to the admin account, there is a display issue in the "Tasks Created" section of the dashboard. The section is intended to show the titles of the programs associated with the tasks created, but instead, it displays the text "undefined."

Steps to Reproduce:

  1. Log in to the admin account.
  2. Navigate to the dashboard and observe the "Tasks Created" section.

Expected Behavior:

  1. The "Tasks Created" section should display the titles of the programs associated with the tasks created.

Actual Behavior:

  1. Instead of showing the program titles, the "Tasks Created" section displays the text "undefined."

This display issue affects the clarity and usability of the admin dashboard, as it obscures the relevant program information that administrators rely on for managing tasks effectively. By resolving this issue, the admin dashboard will provide the correct program titles associated with each created task, facilitating better task tracking and program management. Please investigate and fix this display problem to ensure that the "Tasks Created" section accurately shows the program titles as expected.

https://www.loom.com/share/8ad51abc1f12401989ad6771bbce0a32?sid=6a3cf9a0-ee36-4e3b-90f5-6472d7b2498b

Unable to display the admin dashboard and how to manually change user password

Hello it's me again 😁!
I ran the docker demo app and it worked perfectly but when I finish the installation steps it doesn't redirect me to the dashboard, it just sticks at the installation steps, over and over again. any idea what causing this issue ? I think its a session issue I tried to logout and log in back and it just stays at the installation page. Even after the logout I actually find the data that I already input so its saved on the database.

AWS confige is required

leemons.mp4

Here is screen video for setup I tried ,

So basically when I complete first step of setup it shows error of was config require and I also config them from file name es.json and en.json present but still same error.

JWT must be provided was also shown

Waiting for your reply,

Disappearing page when scrolling from top to bottom and then bottom to top

Upon logging into the dashboard using a tutor account, I discovered a critical issue. When I scroll from the top of the page to the bottom and subsequently attempt to scroll back up from the bottom to the top, the entire page disappears. This behavior is unexpected and disrupts the usability of the platform.

Steps to reproduce the issue:

  1. Log in to the dashboard using a tutor account.
  2. Scroll down from the top of the page to the bottom.
  3. Try scrolling back up from the bottom to the top.

At this point, the entire page disappears, leaving no content visible. Reloading the page is required to restore visibility.

This issue severely impacts the user experience and inhibits smooth navigation within the dashboard. It is essential to investigate and rectify this problem promptly, ensuring consistent visibility and reliable scrolling functionality throughout the platform.

https://www.loom.com/share/e857807f83834f3da1827b748fe69703?sid=056e7e52-2fb6-4bb3-af2a-259eb123bd76

SMTP not works

We install leemons from docker-installation. installation is done. but SMTP is not works. plz help

Running In Docker

Hi There.
I'm sure it is user error but using the main and demo branches, when I use the start.sh script, I'm getting an error when running for Docker.
$ leemonsFront preview -b /monorepo/app/build
docker-leemons-front-1 | /bin/sh: 1: leemonsFront: not found
error Command failed with exit code 127.
Thank you. Excited to check it out.

Kanban feature not displaying assigned tasks in student account

I encountered an issue with the Kanban feature where assigned tasks are not being displayed in the student account. Here's what I did:

  1. Logged in as a tutor account.
  2. Created a new task and assigned it to a student.
  3. Expected the task to appear in the student's account under the Kanban board, but it does not show up.

This issue is hindering the workflow and collaboration between tutors and students. It would be greatly appreciated if this issue can be addressed and the Kanban feature can accurately display assigned tasks in the student accounts.

Blank Screen after Image Upload - Image Not Visible in Media Library

An issue has been identified when uploading images to the media library, causing the screen to go blank. Additionally, the uploaded image does not appear in the media library after the upload process is completed.

Steps to Reproduce:

  1. Log in to the platform.
  2. Navigate to the media library section.
  3. Upload an image from local storage.

Expected Behavior:

  1. The image upload process should complete successfully without any errors.
  2. After uploading, the uploaded image should be visible and accessible in the media library.

Actual Behavior:

  1. Upon completing the image upload, the screen goes blank, and no further content is displayed.
  2. The uploaded image is not visible or accessible in the media library.

This issue significantly impairs the platform's ability to handle media assets and content, hampering the essential functionality of storing and accessing images. It is crucial to address this problem promptly to ensure that users can seamlessly upload and manage images within the media library. Please investigate and resolve this issue to restore proper functionality and visibility of uploaded images in the media library.

https://www.loom.com/share/6d7ba396290d41308af9620224e5588c

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.