GithubHelp home page GithubHelp logo

GSoC project ideas page should allow selection of both difficulty level and a tool of choice about creativecommons.github.io-source HOT 19 CLOSED

Gbahdeyboh avatar Gbahdeyboh commented on July 3, 2024
GSoC project ideas page should allow selection of both difficulty level and a tool of choice

from creativecommons.github.io-source.

Comments (19)

techievivek avatar techievivek commented on July 3, 2024 2

@pavitra14 Yeah, I think this will be better, I suggested above one if you dont want to change anything in content folder.
Lets wait for @kgodey as she is one who implemented it.

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024 1

@pavitra14 please go ahead.

from creativecommons.github.io-source.

pavitra14 avatar pavitra14 commented on July 3, 2024 1

@techievivek I do not intend them to navigate, I wanted to do it all from a single page.
Right now, I added data-filters to each button and assigned filter values to each idea via classes.
Rest is handled automatically via jQuery and Event handlers.
I did not need to edit the contents much, only had to add a filter-value variable in the model.
Also, the user must be able to selected multiple filters at once and should see the result instantly.
I did that only.

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024 1

@pavitra14 perfect oneπŸ‘Œ

from creativecommons.github.io-source.

kgodey avatar kgodey commented on July 3, 2024

The GSoC project ideas page is no longer up, but we have a new project ideas page with the same issue: https://opensource.creativecommons.org/internships/project-ideas/

from creativecommons.github.io-source.

Gbahdeyboh avatar Gbahdeyboh commented on July 3, 2024

Thanks for the update @kgodey.

It would also be nice to be able to select multiple skills. There are projects that require knowledge of both python and JavaScript to complete.

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024

@kgodey I will like to try to implement this feature if no one is working on it. This feature will be really handy if implemented.
Thank you

from creativecommons.github.io-source.

kgodey avatar kgodey commented on July 3, 2024

Go ahead @techievivek

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024

@kgodey Mam can you please tag the developer who has implemented this feature, as this seems tough with the current directory structure and given code logic.
Because suppose a person has clicked on a difficulty level now we will show them two different links like https://opensource.creativecommons.org/internships/project-ideas/difficulty-easy/ so that he can choose another difficulty level and another type of link like https://opensource.creativecommons.org/internships/project-ideas/difficulty-hard/skill-javascript/ so that he can navigate to the project-ideas that are hard and requires skill Javascript and vice-versa.
We may need to alter the directory structure.

from creativecommons.github.io-source.

kgodey avatar kgodey commented on July 3, 2024

I implemented this feature.
Under the current implementation, we would have to generate a new page for every single combination of filters, which will probably get infeasible. The better way is probably to scrap the current implementation and implement filtering on the client side using JavaScript.

from creativecommons.github.io-source.

pavitra14 avatar pavitra14 commented on July 3, 2024

I would like to take up this issue if no one else is doing it.
I can write up a logic on the client side javascript to filter things out.

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024

@pavitra14 Also if you need any help, feel free to tag me.

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024

@kgodey @pavitra14 I think it will be better to make use of current URL the user is in.
There can be 3 cases:-

  1. If they are on all, on clicking any difficulty level or skill we can directly make them navigate to that page.
  2. If they are on a particular difficulty level they can either navigate to all or to a skill, so accordingly we can do by looking at href of clicked link.
  3. Similarly for skills.
    We can have a class to all the links and then add listener and disable the deafult behaviour and check current Url and target url and redirect accordingly or filter records by using basic regex to get and match skill or difficulty.
    All can be done in Plain Js without the need to alter anything in content folder.

from creativecommons.github.io-source.

pavitra14 avatar pavitra14 commented on July 3, 2024

@techievivek
Also we will any how need to edit the content as the old redundant content needs to be removed.
Since we're showing everything on the front end, there's no need for the skill/difficulty category folders inside content anymore.
This was requested in the review by @kgodey

from creativecommons.github.io-source.

techievivek avatar techievivek commented on July 3, 2024

@pavitra14 Yes If we have to do everything in frontend then definitely we dont need any folder more.
I have seen your updated PR, its perfect.

from creativecommons.github.io-source.

pavitra14 avatar pavitra14 commented on July 3, 2024

Removed the redirect /internships/project-ideas/all
Now the /internships/project-ideas/ is the root folder for all ideas.
Compatibility checked with lektor and can be easily managed via the admin backend.

from creativecommons.github.io-source.

Abhishek856 avatar Abhishek856 commented on July 3, 2024

hello , My self Abhishek mishra , I want to work on this issue.

from creativecommons.github.io-source.

Abhishek856 avatar Abhishek856 commented on July 3, 2024

can i work on this

from creativecommons.github.io-source.

pavitra14 avatar pavitra14 commented on July 3, 2024

@Abhishek856
Kindly go through the issue, I've already sent a PR, writing tests is left, if you can do that, kindly checkout the linked PR.

from creativecommons.github.io-source.

Related Issues (20)

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.