c2siorg / codelabz Goto Github PK
View Code? Open in Web Editor NEWCodelabz
License: Apache License 2.0
Codelabz
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
The tutorial homepage lacks filtering functionality.
Describe the solution you'd like
Introduce a filtering mechanism allowing users to filter tutorials by date created, title, owner or keyword.
Additional context
If there are many tutorials, having a filter function can fix the tedious work of manual searching and make it easier for users to find relevant content.
Describe the bug
We are not re-directed to /tutorials page after publishing or unpublishing the tutorial.
Expected behavior
It should redirect us to /tutorials page after publishing or unpublishing the tutorial for better user experience.
Video Reference
Is your feature request related to a problem? Please describe.
The current README for CodeLabz contains information about an outdated communication channel, namely the Glitter channel. This poses a challenge for new contributors who may attempt to join the deprecated channel instead of the current primary communication platform, which is the Slack channel.
Describe the solution you'd like
The purpose of this issue is to update the README, replacing references to the old Glitter channel with accurate details about the current Slack channel. This will streamline the onboarding process for new contributors and ensure they have the correct information to join the community.
Describe the bug
User not been redirected to the dashboard even after successful login through github, twitter, facebook and google.
After login the user is been redirected to the login page again
To Reproduce
Steps to reproduce the behavior:
1.Go to organization settings
2.Then you will be redirected to the login page
3.Login using github, twitter, facebook or google
Expected behavior
User should be redirected to dashboard
Video Reference
Is your feature request related to a problem? Please describe.
Here, the data is fixed aswell
So will be loading dynamic data here as well.
Describe the solution you'd Implement
Loading the owner's of all the organization present under codelabz. This is what currently I am thinking to do.
Describe alternatives you've considered
Additional context
Do share your ideas.
Describe the bug
In the Home page You can see cards. It has many features but It's buttons are not working. If This bug fixes it will increase user experience and working of features as expected.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Upvote, downvote are working. Comment, More, Share, Bookmark, also have to work.
Describe the bug
If User is not Authenticated then Website should show it's home page but it is showing the home page after user logged in. This is a bug that will reduce user experience. Fixing this feature will increase user experience.
To Reproduce
Expected behavior
If User is not Authenticated then Website should show it's home page not the home page after user logged in
Screenshots
The following are Pre-GSoC tasks for 2024
Design a Notifications Service System for Codelabz
Design a robust system for the Notification Service for Codelabz, ensuring effective communication of necessary actions and events to users.
Design a recommendation service to Generate User Feed
Design a basic and robust recommendation system to generate user feed for Codelabz, suggesting relevant codelabzs (tutorials) to users.
To assess contributors' implementation skills and coding practices, candidates are requested to fork the project repository and solve specified tasks. This method prevents PR flooding on the main repository and ensures confidentiality of contributors' solutions.
Kindly refrain from submitting PRs to the main repository, as these tasks are not intended for merging into the main codebase. Your contributions should be confined to your forked repository for evaluation purposes.
I have identified several responsiveness issues in the dashboard that impact its usability across different devices and screen sizes. The current layout and design are not adapting appropriately, leading to user experience challenges.
Issues:
Fixed Dimensions:
Description: Elements with fixed dimensions may cause content cutoff or overlap on smaller screens.
Impact: Inadequate visibility of content, affecting user comprehension.
Non-Responsive Tables:
Description: Tables are not adapting well to smaller screens, hindering readability.
Impact: Horizontal scrolling may be required, impacting user interaction.
Uploading Codelabz - Google Chrome 2024-01-20 18-49-16.mp4โฆ
Describe the bug
I have seen that into the organisations setting ( http://localhost:5173/user-dashboard/organization-settings) we are not handling the publish button (see screenshot)
** Screenshot **
To Reproduce
So i added some test cases for this .
Is the button existed or not , if not existed then test will fail
Is the button have the "Publish" text in it or not , if not have the text "Publish" then test will fail
and if passes then click it
wait for 4s(4000ms)
Then after clicking the button it will convert to "Unpublish"
so we also check it as we check the previous one
Expected behavior
If any consequences happen or contributor by mistake it remove the publish button it will throw the failed the test cases
Just added the test for handling these
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
Data in the 'User to follow' component is hardcoded.
Describe the solution you'd like
Establish a database connection and fetch users, limiting the results to four while ensuring the logged-in user is excluded from the retrieved data.
Here data is hard coded
Is your feature request related to a problem? Please describe.
Currently, users need to scroll through the entire site to get an overview of the recent tutorials. I find it inconvenient to locate the latest tutorials quickly.
Describe the solution you'd like
I would like to propose the addition of a dashboard that prominently displays recent tutorials along with their dates of addition. This dashboard should provide users with a quick and accessible overview without requiring them to scroll through the entire site.
Describe the bug
When a user tries add new step in the tutorial he/she needs to double inorder to open the popup for step creation . This is because the state is not getting updated when the popup is closed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The popup should appear on a single click
Video Reference
add_new_step_issue.webm
Is your feature request related to a problem? Please describe.
Content is static in the organisation section on the profile page
Describe the solution you'd like
We can fetch the data from the Firebase database
Describe alternatives you've considered
using organisation array in database can be rendered dynamically
Describe the bug
Once the user writes something in the QuillEditor in the editor mode and swithes to preview mode and then again switches back to the editor , the content within the editor disappears ,which leads to a bad user experience . Cause the user would have to write the content in one go without previewing it
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The content should persist even after switching to preview mode and then switching back to the editor mode
Video Reference
Describe the bug
When the user creates a tutorial and gets back to the My Tuorials page the tutorial is not visible initially , also when the tutorial is published and the user redirects to My Tutorials page through right menu bar the tutorial is not visible initally. When the user clicks on the org_name and clicks back on the user_handle in the spinner at that time the tutorial becomes visible .
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The tutorial should be visible intially when the user is redirected to the MyTutorials page
Video Reference
The current user details displayed on the profile page are static, providing a limited and unchanging view.
Implement a dynamic solution by fetching user details from the Firebase database and dynamically updating the profile page content.
Utilize the Firebase API to efficiently retrieve and integrate user data into the profile page.
We can use data from the firebase firestore and use it in profile page
Describe the bug
User not being redirected to the specific organization's page where he/she should see organization's details
To Reproduce
Steps to reproduce the behavior:
1.Go to dashboard
2.Enter user and organization's details and hit save
3.Now on dashboard/my_feed page click on the organization's banner
Expected behavior
User should be redirected to that org's page
Video Reference
Describe the bug
The footer lacks visual appeal, appearing crumpled and improperly formatted. There are underlines present due to anchor tags, and spacing is not adequately maintained.
To Reproduce
(As footer is commented in the code, I viewed it using storybook. So first we need to do : npm run storybook
)
Steps to reproduce the behavior:
Expected behavior
Enhancement of the footer by maintaining the same design while improving overall formatting for a more polished and cohesive appearance.
Screenshots
Proposed Design:
Desktop (please complete the following information):
Description:
Users need the ability to edit and update their organization details within the platform. Currently, there is no feature available to facilitate this process.
Proposed Solution:
Introduce input boxes that allow users to enter multiple organizations, which will then be added to the organizations array in Firebase Firestore. This will enable users to easily manage and update their organization information as needed.
Alternatives Considered:
None at the moment. This solution provides a straightforward and efficient way for users to update their organization details without relying on external tools or complicated processes.
Is your feature request related to a problem? Please describe.
Data is not being sent to database when user reset its password via old Password
Describe the solution you'd like
Create the store, reducer, and actions for changePassword.
Then implemented it to Form/userPassword/index.jsx
Also, implement Alert for specifying error or success.
Describe the bug
Users can cast negative votes and unlimited upvotes/downvotes within the upvote/downvote system, contrary to the intended behavior. This issue compromises data integrity and may lead to system abuse.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The voting system should prevent users from casting negative votes and limit the number of upvotes/downvotes to one to maintain data integrity and prevent abuse.
Screenshots/video
Screencast from 11-02-24 05:33:09 AM IST.webm
Desktop & Smartphone
Additional context
This issue impacts the reliability and fairness of the voting system and requires immediate attention to maintain the integrity of user feedback data.
Data in the 'backup email' component is hardcoded.
Establish a database connection and fetch users, limiting the results to four while ensuring the logged-in user is excluded from the retrieved data.
Here data is hard-coded
Even actions are not reflected in the database
Describe the bug
Content within the code tag is not displayed appropriately. The code/commands written within code tag should be displayed separately , so that it doesn't get merged with the normal text . The code/commands within the code tag should be emphasized.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The code/commands within the code tags should be emphasized
Video Reference
code_preview_issue.webm
Describe the bug
The redirection to the tutorial's steps is not correct . When the user clicks on the Step no in the StepsBar is the left , the user is neither redirected to the start of the step nor end of the step
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The user should be redirected to the start of the step
Video Reference
https://github.com/c2siorg/Codelabz/assets/112710558/107913cd-af48-4fb1-acda-d4c9f1e91dde
Describe the bug
Social Media Icon Buttons are not Working properly in profile page. while clicking on them they are not redirecting to the particular path.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
while clicking on them they should redirect to the particular path. I mean user profile.
Is your feature request related to a problem? Please describe.
Voting is only implemented by useState hook on any comment. It should be stored in database and can keep track which person is already upvoted or not.
Describe the solution you'd like
By creating reducer and by writing handler of upvoting and downvoting in store can give us access to vote dynamically and can show real result of votes
Describe alternatives you've considered
Interacting with database in cl_comments table.
Additional context
Upvotes and downvotes should be dynamic with proper logic that user vote counts only once.
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.
Describe the bug
404 page does not contain any header or any footer. But You can find the header in 404 page. 404 page can contain a button that redirect to the home page. This is the bug present in 404 page.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Is your feature request related to a problem? Please describe.
Currently, when users navigate to their "Who To Follow" list, they are unable to obtain any information about individual followers beyond their username or profile picture. This lack of information can make it challenging for users to decide whether to follow someone back or engage with them further.
Describe the solution you'd like
The proposed feature aims to address this problem by enabling users to access basic information about a follower before deciding to follow them. This additional information can help users make more informed decisions and foster better engagement within the platform.
Describe alternatives you've considered
Similar to the proposed solution, implement a profile preview popup/modal that appears when clicking on a follower's name or profile picture. This provides a snapshot of basic information without fully navigating away from the followers list.
Problem:
Users often want to share tutorials they find helpful with others, but there's currently no straightforward way to do so on the web-based frontend.
Solution:
Implement a sharing option for tutorials on the web-based frontend. This would involve adding a "Share" button underneath each tutorial, allowing users to easily share the tutorial link via various platforms such as email, social media, or messaging apps.
Alternatives:
Additional Context:
This feature would enhance user experience by promoting easier sharing of valuable content, fostering community engagement, and potentially attracting more users to the platform through word-of-mouth recommendations.
Describe the bug
When logged-in users attempt to view the profiles of other users, they encounter an issue where the profiles are inaccessible.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
There should be a profile page of another user where the logged-in user can follow or unfollow him.
Users profile loading with no content displayed, hindering access and interaction.
Expected Beheviour
Additional context
The function for checking isUserExist is not working as expected.
Describe the bug
If a user log in or signup with his own account, then user would need to create an organization too to create tutorials, so after creating organization as prompted when visited to view the organization, it kept on loading suggesting somewhere the data needed for the page to load is not provided or missing i.e. it's kept on waiting for the data to come, or something similar.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should have shown organizations general section when visited to http://localhost:5173/org/settings/org_handle
Video
In black screen instance of chrome logged in with the account and created an organization then tried to view it - which is not showing
In tutorial creation there is no options for tutorials.
White screen shows how it should have been worked.
All in all, a user can not create his own organization.
Desktop (please complete the following information):
Additional context
Do suggest outcomes or possible errors which needed to be fixed in order to make it work.
Describe the bug
When you click on logout button then user should redirect to the home page. This is the actual feature of any website but logout is not redirecting to home page instead it is redirecting to login page. This is the bug by fixing it we can increase user experience.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
When user click the logout button then user should redirect to home page.
Describe the bug
At http://localhost:5173/org/settings/org_handle
the Add New
button which is supposed to add users to the current organization is not working.
And here users should have been added according to the permission level, like Reviewer, Editor, Admin
, so an editor or admin should have been able to edit tutorials created by other users in the same organization.
To Reproduce
Steps to reproduce the behavior:
http://localhost:5173/org/settings/org_handle
Expected behavior
A modal should have popped up allowing the admins or editors to add users to the organization.
Video
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
The UI of the profile page is inconsistent because the input boxes have different sizes.
Describe the solution you'd like
To fix the UI inconsistency, we can make all input boxes uniform in size.
Describe alternatives you've considered
One alternative is to adjust the width of each input box individually to achieve a consistent look. Another alternative is to use a grid layout to ensure uniformity in size and spacing of input boxes.
Is your feature request related to a problem? Please describe.
The absence of a confirmation mechanism across the website leaves users unaware of the current status, leading to potential confusion.
Describe the solution you'd like
Implement a Toastify-based confirmation functionality to provide clear and concise feedback to users about their actions or the system's status.
Additional context
There is currently no confirmation mechanism in place throughout the website, and introducing Toastify can be a major enhancement by offering real-time feedback and clarity on their interactions.
Describe the bug
The links in the profile menu are not working as intended
Expected behavior
When clicking the link, it is expected to redirect to the respective social media page, but currently, it is not functioning as intended.
Additional context
Add any other context about the problem here.
Describe the bug
When the user create a tutorial he/she greats one step created by default . When the user creates one more step using the ADD NEW STEP button on the top left and performs deletion of the step , a blank screen appears . Incase when the user creates multiple tutorial steps and then performs deletion , this blank screen doesn't appears
To Reproduce
Steps to reproduce the behavior:
Expected behavior
After performing the deletion (incase when only if one step is created) the blank shouldn't appear and the step should be deleted
Video Reference
https://github.com/c2siorg/Codelabz/assets/112710558/821f83e1-d6f4-4429-891e-88de0d9a4d81
The profile update page currently lacks input boxes for users to input or update crucial information such as institute, language, and organization details these details are on the profile page but cannot be updated.
we introduce input boxes on the profile update page to facilitate users in providing and updating their institute, language, and organization details.
Describe the bug
In storybook, there is a spelling mistake.
To Reproduce
Steps to reproduce the behavior:
npm run storybook
localhost:6006
, on the right side you can see the mistake.Expected behavior
It should be 'Forget Password Page'
Desktop (please complete the following information):
Describe the bug
Tutorials can have same titles . Multiple tutorials with the same title are allowed , leading to redundancy.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
An error message should appear , informing user that "this title is already taken"
Video Reference
duplicate_tutorial_creation_fixed.webm
Is your feature request related to a problem? Please describe.
At home page, here
The content or the users are fixed and I want to dynamically load the contributors content here, i.e. all the org. users will be shown here.
Describe the solution you'd like
If a user is a part of some org. then he will see users of that org. under contributions.
If a user is not a part of any org. then he will see org. with higher rating but rating system haven't implemented yet so by default contributors of Codelabz Org
.
Describe alternatives you've considered
In case user is not a part of any org, then can do it according to rating or higher activity org. users like org's having the most tutorial users can be shown under contributors.
Additional context
Do share your ideas.
Describe the bug
Comments details like name , title , description , etc aren't visible . When the user visits his/her profile section they can't see anything in the comments card .
To Reproduce
Steps to reproduce the behavior:
1.Complete the login process
2. Fill in the details in the dashboard
3. In the right menu bar click on My Profile and view the comments card under the profile
4. You can see that the no detail is present over there
Expected behavior
Comments details like name , title , time, description ,etc should be visible
Video Reference
Describe the bug
As we can see clearly from cypress - the quill editor is writing this thing (See - screenshot)
Test for cypress/e2e/component/editor/editor.cy.js (editor)
Curent Behaviour (Match the expectedRichHTML & and html that is in image)
cypress/fixture/editor.json
{
"expectedRichTextHTML": "<div><p><strong>bold</strong><br><em>italic</em><br><u>underlined</u></p></div>"
}
But what it is mentioned in the cypress/fixture/editor.json is different from which we will get TIME OUT ERROR(me too getting error).Due to which i am getting assertion error (Like this - assertionError: Timed out retrying after 4000ms:)
** Added Missing Test **
This PR merged for adding new and more tools to editor but we are not handing any test for new tool
feat: Added more tools in the editor #974 (scorelab/Codelabz#974)
so added some test for handling and checking this tools
To Reproduce
We have to change the editor.json folder to this which is same as editor write while testing
{
"expectedRichTextHTML": "<div><p><strong>bboldb</strong><br><em>italic</em><br><u>uunderlinedu</u></p></div>"
}
Folder Path : /cypress/e2e/components/editor/editor.cy.js
Expected behavior
Describe the bug
When an org. user having higher level permission tries to change the lower level permissioned org. user permission
then it can not be done. Refer to the video.
Find it while solving issue #76
To Reproduce
Bring file changes from PR #77
Expected behavior
It should have changed the org. users permission.
Video
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Describe the bug
Not a big deal , just i am running storybook and i found that npm run storybook
Internal server error: Failed to resolve import "../ ../../components/MyFeed/ExploreOrgs" from "src/stories
/CodeFeed/ExploreOrg/index.stories.jsx". Does the file exist?
So for confirmation that it is not from my side , i checked the c2siorg/Codelabz repo [official]
Current path
import ExploreOrg from "../../../components/MyFeed/ExploreOrgs";
So the problem is that - the file is now present at that path Codelabz-final/src/components/MyFeed/discoverOrgs/OrgExplore.jsx
Expected behavior
Change the path to
import ExploreOrg from "../../../components/MyFeed/discoverOrgs/OrgExplore";
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
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.