zoonk / uneebee Goto Github PK
View Code? Open in Web Editor NEWPlatform for creating interactive courses.
Home Page: https://app.uneebee.com
License: GNU Affero General Public License v3.0
Platform for creating interactive courses.
Home Page: https://app.uneebee.com
License: GNU Affero General Public License v3.0
Users can write the answer instead of choosing options. Then, we connect to a LLM to evaluate the answer. Teacher needs to input what would be the acceptable answer and why.
LLM returns a feedback to say if it's correct or not and why.
What's the correct answer and why?
What would be wrong answers and why?
UneeBee only allows us to create one school at the moment. For Wikaro, we're going to be able to have multiple schools that can work as white-label. We need a setup that allows new schools to have a subdomain or custom domain. For example:
apple.wikaro.test
learning.apple.com
This issue should map the required work to provide a minimal version of this functionality. We should make it as simple as possible. Payments and automatically configuring custom domains are out of the scope. For now, users should only be able to set their custom domain in the school settings (and send us an email to configure their custom domain). If people start using this functionality, then we can automate it.
school_id
is not nil
.Feedback from the demo app:
When I open a course, the home link in the sidebar is shown as active. Seems like a bug.
This is happening because the home loads the most recent course. So, the home is considering the course view as an active page.
We should probably change this logic to make the home link active only when the user is actually at the home page (or the most recent course).
If the user just clicked on a course link, then the courses
menu should be active instead.
This is going to be useful to check where students are struggling and how we can improve certain areas of the learning experience. It can also be useful to us internally because if users are spending too much time on a step, then we might need to make that step simpler.
Schools are billed per user for free courses with commercial purposes. Free courses for educational purposes are exempt. Allow to apply for an exemption.
Allow duplicated users as long as the school_id is different. This way users can have different credentials for each school.
Make it a school setting.
On the lesson editor, displays the percentage of users who selected each option. For example:
Like BNCC, AP, National Curriculum, etc.
Sentry caught the following error:
MatchError: no match of right hand side value: {:error, %Resend.Error{name: "validation_error", message: "Invalid `to` field. The email address needs to follow the `[email protected]` or `Name <[email protected]>` format.", status_code: 422}}
File "lib/accounts/user_live/registration.ex", line 29, in UneebeeWeb.Live.Registration.handle_event/3
File "lib/phoenix_live_view/channel.ex", line 487, in anonymous fn/3 in Phoenix.LiveView.Channel.view_handle_event/3
File "/app/deps/telemetry/src/telemetry.erl", line 321, in :telemetry.span/3
File "lib/phoenix_live_view/channel.ex", line 246, in Phoenix.LiveView.Channel.handle_info/2
File "gen_server.erl", line 1077, in :gen_server.try_handle_info/3
File "gen_server.erl", line 1165, in :gen_server.handle_msg/6
File "proc_lib.erl", line 241, in :proc_lib.init_p_do_apply/3
There are two issues here:
test@test
email, which is invalid. We should fix that validation.Add a setting to schools that allow them to have a library. When this option is enabled, child schools may be able to use courses from the host school on their own school.
Sentry Issue: UNEEBEE-9
FunctionClauseError: no function clause matching in UneebeeWeb.Live.UserSettings.get_page_title/1
File "lib/accounts/user_live/user_settings.ex", line 151, in UneebeeWeb.Live.UserSettings.get_page_title/1
File "lib/accounts/user_live/user_settings.ex", line 30, in UneebeeWeb.Live.UserSettings.mount/3
File "lib/phoenix_live_view/utils.ex", line 394, in anonymous fn/6 in Phoenix.LiveView.Utils.maybe_call_live_view_mount!/5
File "/app/deps/telemetry/src/telemetry.erl", line 321, in :telemetry.span/3
File "lib/phoenix_live_view/channel.ex", line 1127, in Phoenix.LiveView.Channel.verified_mount/8
...
(3 additional frame(s) were not displayed)
Sentry Issue: UNEEBEE-8
MatchError: no match of right hand side value:
File "lib/content/course_live/lesson_play.ex", line 14, in UneebeeWeb.Live.LessonPlay.mount/3
File "lib/phoenix_live_view/utils.ex", line 394, in anonymous fn/6 in Phoenix.LiveView.Utils.maybe_call_live_view_mount!/5
File "/app/deps/telemetry/src/telemetry.erl", line 321, in :telemetry.span/3
File "lib/phoenix_live_view/channel.ex", line 1127, in Phoenix.LiveView.Channel.verified_mount/8
File "lib/phoenix_live_view/channel.ex", line 84, in Phoenix.LiveView.Channel.handle_info/2
...
(3 additional frame(s) were not displayed)
The lesson list on the course dashboard should display the following information each lesson:
If a school has a library subscription, then it can import lessons from the app's library. It can import individual lessons to build custom courses - or import the entire course.
UneeBee requires users to be logged in at the moment. This means no pages are indexed by search engines, hurting SEO. For public schools, we should allow content pages to be indexed.
### Public pages
- [ ] Home
- [ ] Course list
- [ ] Course view
- [ ] Lesson view
- [ ] For private schools, all pages should be private
Allow to search users both on the school and course user lists.
Add infinite scrolling to user list for both schools and courses.
Allow schools to have access to the app's library.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.