noodle-run / noodle Goto Github PK
View Code? Open in Web Editor NEWRethinking Student Productivity
Home Page: https://noodle.run
License: GNU Affero General Public License v3.0
Rethinking Student Productivity
Home Page: https://noodle.run
License: GNU Affero General Public License v3.0
R(subject_ID, subject_name, user_ID, user_name, user_surname, user_email, user_role, module_ID, module_name, module_code, module_year, module_term, module_group, module_timetable, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, subtask_ID,subtask_name, subtask_completion)
FD = {
subject_ID → subject_name,
user_ID → user_name, user_surname, user_email, user_role,
module_ID → module_name, module_code, subject_ID,
module_ID, module_year, module_term, module_group → module_timetable,
task_ID → task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_year, module_term, module_group,
subtask_ID → subtask_name, subtask_completion, task_ID,
}
((user_ID) + (subtask_ID)):
(user_ID, module_ID, module_year, module_term, subtask_ID) = {user_ID, user_name, user_surname, user_email, user_role, subtask_ID, subtask_name, subtask_completion, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_name, module_code, module_year, module_term, module_timetable, subject_ID, subject_name}
Every non-primary-key attribute is fully functionally dependent on the primary key.
R(user_ID, user_name, user_surname, user_email, user_role, subtask_ID, subtask_name, subtask_completion, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_name, module_code, module_year, module_term, module_timetable, subject_ID, subject_name)
user_ID
→ user_name
, user_surname
, user_email
, user_role
Partial Functional Dependencysubtask_ID
→ subtask_name
, subtask_completion
, task_ID
, task_name
, task_description
, task_deadline
, task_date_created
, task_type
, task_importance
, task_completion
, module_ID
, module_name
, module_code
, module_year
, module_term
, module_timetable
, subject_ID
, subject_name
Partial Functional DependencyR(user_ID, subtask_ID)
R1(user_ID, user_name, user_surname, user_email, user_role)
R2(subtask_ID, subtask_name, subtask_completion, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_name, module_code, module_year, module_term, module_group, module_timetable, subject_ID, subject_name)
There is no transitive dependency for non-prime attributes.
R(subtask_ID, subtask_name, subtask_completion, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_name, module_code, module_year, module_term, module_group, module_timetable, subject_ID, subject_name)
subtask_ID
→ task_ID
→ task_name
, task_description
, task_deadline
, task_date_created
, task_type
, task_importance
, task_completion
, module_ID
, module_year
, module_term
, module_group
, subject_ID
R(task_ID, task_ID*, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_name, module_code, module_year, module_term, module_group, module_timetable, subject_ID, subject_name)
task_ID
→ module_ID
, module_year
, module_term
, module_group
→ module_name
, module_code
, module_timetable
, module_year
, module_term
, module_group
, subject_ID
R1(module_ID, module_year, module_term, module_group, module_name, module_code, subject_ID, subject_name)
module_ID
, module_year
, module_term
, module_group
→ module_name
, module_code
, module_timetable
, subject_ID
, subject_name
Full Functional Dependencymodule_ID
→ module_name
, module_code
, subject_ID
, subject_name
Partial Functional DependencyR(module_ID, module_name, module_code, subject_ID, subject_name)
module_ID
→ subject_ID
→ subject_name
For every functional dependency X → Y, X must the super key of that relation.
R1(user_ID, user_name, user_surname, user_email, user_role)
R2(subject_ID, subject_name)
R3(module_ID, module_name, module_code, subject_ID)
R4(module_ID, module_year, module_term, module_timetable)
R5(task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_year, module_term, module_group)
R6(subtask_ID, subtask_name, subtask_completion, task_ID)
R1(user_ID, user_name, user_surname, user_email, user_role)
(user_ID) = {user_ID, user_name, user_surname, user_email, user_role}
R2(subject_ID, subject_name)
(subject_ID) = {subject_ID, subject_name}
R3(module_ID, module_name, module_code, subject_ID)
(module_ID) = {module_ID, modules_name, module_code, subject_ID, subject_name}
R4(module_ID, module_year, module_term, module_timetable)
(module_ID, module_year, module_term) = (module_ID, module_year, module_term, module_timetable, modules_name, module_code, subject_ID, subject_name)
R5(task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID)
(task_ID) = {task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, module_year, module_term, module_group, modules_name, module_code, module_timetable, subject_ID, subject_name}
R6(subtask_ID, subtask_name, subtask_completion, task_ID)
(subtask_ID) = {subtask_ID, subtask_name, subtask_completion, task_ID, task_name, task_description, task_deadline, task_date_created, task_type, task_importance, task_completion, module_ID, modules_name, module_code, subject_ID, subject_name}
The sidebar in the dashboard has links to pages, the UI for these links should be implemented and used in the Dashboard template.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
@types/react
, @types/react-dom
)@commitlint/cli
, @commitlint/config-conventional
)eslint
, @types/eslint
)@tanstack/react-query
, @tanstack/react-query-devtools
)@trpc/client
, @trpc/next
, @trpc/react-query
, @trpc/server
)@commitlint/cli
, @commitlint/config-conventional
)nrwl/nx-set-shas
, nx
)@tanstack/react-query
, @tanstack/react-query-devtools
)These updates are pending. To force PRs open, click the checkbox below.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
@typescript-eslint/eslint-plugin
, @typescript-eslint/parser
)node
, @types/node
).github/workflows/ci.yml
actions/checkout v3
actions/checkout v3
nrwl/nx-set-shas v3
volta-cli/action v4
actions/checkout v3
volta-cli/action v4
apps/web/package.json
@clerk/nextjs ^4.23.4
@clerk/themes ^1.7.5
@hookform/resolvers ^3.3.1
@radix-ui/react-accordion ^1.1.2
@radix-ui/react-select ^1.2.2
@tanstack/react-query ^4.33.0
@tanstack/react-query-devtools ^4.33.0
@trpc/client ^10.38.1
@trpc/next ^10.38.1
@trpc/react-query ^10.38.1
@trpc/server ^10.38.1
@upstash/ratelimit ^0.4.4
@vercel/analytics ^1.0.2
date-fns ^2.30.0
framer-motion ^10.16.3
lucide-react 0.263.1
next 13.4.19
next-mdx-remote ^4.4.1
next-seo ^6.1.0
next-themes ^0.2.1
react 18.2.0
react-animate-height ^3.2.2
react-dom 18.2.0
react-hook-form ^7.46.1
react-wrap-balancer ^1.1.0
rehype-slug ^6.0.0
remark-gfm ^3.0.1
superjson ^1.13.1
usehooks-ts ^2.9.1
zod ^3.22.2
@types/react 18.2.21
@types/react-dom 18.2.7
autoprefixer ^10.4.15
postcss ^8.4.29
tailwindcss ^3.3.3
package.json
node-gyp-build ^4.6.1
@commitlint/cli ^17.7.1
@commitlint/config-conventional ^17.7.0
@ianvs/prettier-plugin-sort-imports ^4.1.0
@types/eslint ^8.44.2
@types/node ^20.5.9
del-cli ^5.1.0
eslint ^8.48.0
husky ^8.0.3
lint-staged ^14.0.1
nx 16.7.4
nx-cloud 16.3.0
prettier ^3.0.3
prettier-plugin-jsdoc ^1.0.1
prettier-plugin-packagejson ^2.4.5
prettier-plugin-tailwindcss ^0.5.4
typescript ^5.2.2
node >=v18.15.0
pnpm >=8.6.10
node 18.15.0
pnpm 8.6.11
pnpm 8.6.11
packages/api/package.json
@clerk/nextjs ^4.23.4
@trpc/next ^10.38.1
@trpc/server ^10.38.1
got ^13.0.0
node-fetch ^3.3.2
superjson ^1.13.1
zod ^3.22.2
packages/config/eslint/package.json
@next/eslint-plugin-next ^13.4.19
@typescript-eslint/eslint-plugin ^6.6.0
@typescript-eslint/parser ^6.6.0
eslint-config-prettier ^9.0.0
eslint-plugin-eslint-comments ^3.2.0
eslint-plugin-jsx-a11y ^6.7.1
eslint-plugin-react ^7.33.2
eslint-plugin-react-hooks ^4.6.0
packages/config/tailwind/package.json
postcss ^8.4.29
tailwindcss ^3.3.3
@radix-ui/colors ^2.1.0
@savvywombat/tailwindcss-grid-areas ^3.1.0
autoprefixer ^10.4.15
tailwindcss-animate ^1.0.7
tailwindcss-radix-colors ^0.5.1
packages/config/tsconfig/package.json
packages/db/package.json
@neondatabase/serverless ^0.6.0
drizzle-orm ^0.28.5
drizzle-zod ^0.5.1
pg ^8.11.3
postgres ^3.3.5
zod ^3.22.2
drizzle-kit ^0.19.13
tsx ^3.12.8
packages/editor/package.json
@udecode/plate ^22.1.0
react 18.2.0
react-dom 18.2.0
slate ^0.94.1
slate-history ^0.93.0
slate-hyperscript ^0.77.0
slate-react ^0.98.0
@types/react 18.2.21
@types/react-dom 18.2.7
autoprefixer ^10.4.15
postcss ^8.4.29
tailwindcss ^3.3.3
packages/env/package.json
@t3-oss/env-nextjs ^0.6.1
zod ^3.22.2
packages/ui/package.json
@radix-ui/react-aspect-ratio ^1.0.3
@radix-ui/react-avatar ^1.0.3
@radix-ui/react-dialog ^1.0.4
@radix-ui/react-label ^2.0.2
@radix-ui/react-scroll-area ^1.0.4
@radix-ui/react-slot ^1.0.2
@radix-ui/react-tooltip ^1.0.6
class-variance-authority ^0.7.0
lucide-react 0.263.1
react 18.2.0
react-dom 18.2.0
react-hook-form ^7.46.1
@types/react 18.2.21
@types/react-dom 18.2.7
autoprefixer ^10.4.15
postcss ^8.4.29
tailwindcss ^3.3.3
packages/utils/package.json
clsx ^2.0.0
tailwind-merge ^1.14.0
Is your feature request related to a problem? Please describe.
A plugging system for extending the functionality and customization of the platform
Describe the solution you'd like
It would be great to be able to add plugins like one drive or nextcloud sync without having to add them directly to the project or waiting for the feature release. It can be tricky, at least with UI plugins, but it can be done.
Describe alternatives you've considered
Additional context
I want to have everything stored on my NAS as markdown or atleast HTML, this could make it so anyone can implement that feature with out the burden on the main devs
Now that we have the template for the Dashboard pages, the module card, greeting and notebook item components, we can assemble the today's activity page UI component and export it from the ui library to then be used in the client application.
Now that tRPC v10 entered beta version, we should update to it.
Is your feature request related to a problem? Please describe.
I'm a brazillian student dev, and I'll like so much to have this application in my native language.
Describe the solution you'd like
Some as possible, add a translation for the portuguese language.
Describe alternatives you've considered
If you need, I'll like to try to help you in this translation, I would like to help with the translation of the project as necessary, as I am fluent in Portuguese
Additional context
if it is possible to forward what you want to receive a translation and how should I do it, I would appreciate it
@all-contributors add @jrysana for code
I would like to suggest option that would enable for user to try to explain topic that user is studying to AI. And AI would give the user questions , about that topic along the way.This would be really helpful for studying calculus for example.
Describe the bug
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
Per #201, smooth scrolling anchor links on the landing page should actually update the fragment in the URL bar when you click them on the landing page. Currently, they don't, because we prevent the default behavior of the Link
(anchor tag wrapper) when on the same page to allow JS to smoothly scroll reliably to the anchor.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
id
when you click on the navbar linksAdditional context
Add any other context about the problem here.
Link
component to facilitate automatic smooth scrolling on same-page anchor links.Hi, I just discovered this project and was trying to join the waitlist when I encountered this error
source: Homepage
I am willing to work on this issue but I think this may be a problem with the deployment rather than the source code. Let me know if there is something I can do
I wanted to reach out and suggest an awesome addition to the js-draw application. How about integrating a drawing feature into the app?
The current js-draw application is fantastic for note-taking with its canvas-based platform, but it would be even more amazing if users could draw directly on the canvas. Imagine being able to create sketches, diagrams, and annotations effortlessly within the app!
By incorporating drawing tools like different brush sizes, colors, and an eraser, users would have the freedom to express their ideas visually. This would greatly benefit students, professionals, and anyone who relies on visual aids to enhance their note-taking experience.
here is a link to the repo i thought would e useful for this thing
https://github.com/personalizedrefrigerator/js-draw
Describe the bug
There is no contact method yet listed in the code of conduct - https://github.com/ixahmedxi/noodle/blob/main/CODE_OF_CONDUCT.md#enforcement
To Reproduce
Go here https://github.com/ixahmedxi/noodle/blob/main/CODE_OF_CONDUCT.md#enforcement
Expected behavior
Have an email address so someone can reach out if needed
Information (please complete the following information):
NA
Additional context
NA
Hello, sorry for being a pain but I have no idea how I can install and access Noodle. I am a noob in javascript but I have node version 18 installed. How can I install this @ixahmedxi ? Help appreciated...
Describe the bug
Typo in the paragraph talking about joining the waiting list.
To Reproduce
Steps to reproduce the behavior:
https://noodle.run/waitlist
Expected behavior
Should say getting and not geting.
Information (please complete the following information):
Our current ESLint config has some unnecessary attributes disabled related to handling promises that should be enabled and the code affecting the change should be dealt with.
In the .eslintrc
file there are two attributes that should be changed from "off" to "error", these are:
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-floating-promises": "off",
The misused-promises rule can be changed from "off" to "@typescript-eslint/no-misused-promises": ["error", { "checksVoidReturn": false }],
After the change, the "no-void" rule should be turned off.
You will then notice some errors popping up in the signin.tsx
page route file. These should be fixed and all eslint errors should be as well. You can run the pnpm nx run-many --target=lint
command to check if there are any eslint errors.
Is your feature request related to a problem? Please describe.
At this time, it does not appear to be available in any language other than English at this time.
Describe the solution you'd like
multilingual support
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
how can I contribute and join the team if you are open? would love to get connected and contribute. this could be a wrong place to connect but i did be keen.
Describe the solution you'd like
how to connect, if you are looking to connect and add a contributor
Describe alternatives you've considered
na
Additional context
na
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
test
I don't know if it is possible to add some high-quality course links for different subjects, or set up a problem-solving discussion area
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
Currently, the sidebar logic is defined in the Dashboard template, this should be moved to it's own component which then get used in the Dashboard template.
As we build the api that Noodle will be based upon, we need to create a me
query endpoint that would return the data of the currently signed in user like their name, email...etc
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
No link in readme
To Reproduce
Go to readme
Expected behavior
Thought it may be helpful/convenient to have a link to the license in the readme
Screenshots
na.
Python package version
na
Additional context
na
I want to try noodle and if possible can contribute.
What commands do I need to setup Noodle properly?
Is your feature request related to a problem? Please describe.
As a student I'd like to upload documents/videos and other files to noodles to have my learning material in one place. Similar to moodle.
Describe the solution you'd like
I'd like to have something like a fileupload and the possibility to name and sort files for topics.
As an offtopic question: Is there already a possibility to deploy and try out noodles?
The Progress bar atom will be used in the module card and other areas to display statuses of success.
Is your feature request related to a problem? Please describe.
The contributing.md file is empty
Describe the solution you'd like
As an open-source developer myself, I find this project exciting. hence I want to create the contribution file to guide developers interested in volunteering for this project
Describe alternatives you've considered
na
Additional context
na
Is your feature request related to a problem? Please describe.
Is there a roadmap / board, where we can find the future tasks to be done?
Describe the solution you'd like
It could be a board or something similar using Github
Describe alternatives you've considered
Additional context
This is helpful to everyone that is willing to contribute somehow with the project
As a first step towards building our design system, we should implement the various typography styles that we will have across the website in terms of components. For example H1, H2, H3, H4 and Paragraph components.
The design system on figma elaborates the different typography styles and it should be done as components 1:1 to the design.
Show time management of others in some kind of status or something to be more motivated and productive.
Add some milestones like on studying for some hours and recieving achievement tags to share on social media.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
test
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
As we start building components for the dashboard, we need the basic skeleton for the shape of the layout done firstly so that we can plug in these components and test them out. The dashboard has a box for the content and a sidemenu that should be toggleable on mobile and hidden.
Hey there, amazing work!
This is more of a question than a suggestion.
The already-existing features are really great, but they are focused on an individual-experience, which is good, in some sense.
I would understand if the focus of Noodle is not about collaboration but more about having a set of tools to help you stay focused and organized, in one place. Though, in my opinion, isolated spaces might not be the best in terms of generating value (knowledge).
Are you planning (thinking) of having some sort of Feed where users can share some education-related stuff (material, tips, etc)?
Ahmed is my god
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.