Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More options #9

Open
jmuzsik opened this issue Sep 4, 2018 · 8 comments
Open

More options #9

jmuzsik opened this issue Sep 4, 2018 · 8 comments

Comments

@jmuzsik
Copy link
Owner

jmuzsik commented Sep 4, 2018

It'd be great if there were more options for the site.

  1. Replace having to fill in language by text input with options to click using a dropdown. That'd be great. To do so, just go through the repo array in options.js and store all of the used languages in some sort of data structure to create the dropdown with.

  2. Another bunch of checkboxes to press that are labelled with like Experience Level. This can be part of another label such as Recommended Issues. And basically all it does it is filter based upon issues such as good first issue or docs for a beginner. For advanced, it goes through feature, etc.

And that's what's on the mind right now. More likely on the way

@Nitesh141
Copy link

I am new to open source. I would like to do the dropdown with language options part. Should I do that?

@jmuzsik
Copy link
Owner Author

jmuzsik commented Sep 20, 2018

Sure, if you have any questions, please ask! I laid out how to do it but if something confuses you, please ask me so things can go smoothly.

Also, if you are new to using GitHub collaboratively read this first: https://medium.com/@jenweber/your-first-open-source-contribution-a-step-by-step-technical-guide-d3aca55cc5a6

Thanks!

@Nitesh141
Copy link

Can you give me the basic details of the project, like what is the framework used and how to run it etc.

@jmuzsik
Copy link
Owner Author

jmuzsik commented Sep 21, 2018

Sure, the cron-job folder contains code that is not used on the frontend. It's used to get data and post to the frontend. The options.js file in this folder contains the data you need to do this (figure out what programming languages are in the project).

The src folder contains the code for the React application. It's only a few components, there are very few views. If you have never worked with React, let me know as to do this properly you would need some knowledge of React, I can explain if necessary.

What I want for this is to add to the options.js file in src/components/Options.js. In here, is the checkbox from the site. So, here you would add the language options and a submit button to press after languages are chosen. It will replace the searching by language in the table and get rid of the checkboxes as they would no longer be necessary.

The most complicated thing is that you would have to pass the data from the submit you would create in options.js to home.js and finally to table.js, and you would have to make a custom filter function in table.js filtering out all the rows that fulfil the language options. This adds a little more complexity as you would need to have a new state for filtered data as that does not exist yet (something like this.state.filteredData in conjunction with this.state.data).

And this is what I think needs to be done here. Unless you have a better idea? It's quite a bit of work...

And to start the app after forking, cloning the repo and npm installing all you have to do is npm run start.

@Nitesh141
Copy link

Thanks. All this information is really useful. As I have never used React, I will take some time. For now I will learn and practice some React and play around with the project. Then I'll tackle the issue. As this is my first open source contribution, I may take some time.

@jmuzsik
Copy link
Owner Author

jmuzsik commented Sep 24, 2018

No problem! I would recommend this intro to React: Free code camp React course. It's a good way to start, especially if you have worked with HTML, CSS, JS in the past. Thanks again

@Nitesh141
Copy link

Thanks. Appreciate the help.

@Nitesh141
Copy link

I will look into that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants