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

Jackett is looking for developers #8180

Open
cadatoiva opened this issue Apr 13, 2020 · 73 comments
Open

Jackett is looking for developers #8180

cadatoiva opened this issue Apr 13, 2020 · 73 comments
Labels
Ongoing PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem!

Comments

@cadatoiva
Copy link
Collaborator

If you, or someone you know has experience in one of the following technologies, we'd love your help. Please use this ticket to let us know how you can help, and we'll direct you to the right people to get you pointed in the right direction to make this project the best it can be.

  • C# development
  • Web scraping with CSS Selectors
  • Web UI/UX. We're looking to do a complete overhaul of the existing UI, so the technology your skilled in is pretty flexible. Our current team has preference/experience in:
    • ASP.Net, C#, or similar
    • NPM, TypeScript, React, Redux, Ant
  • Azure with pipelines
  • Private tracker members for testing changes
  • And possibly more
@cadatoiva cadatoiva added PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem! Ongoing labels Apr 13, 2020
@cadatoiva cadatoiva pinned this issue Apr 13, 2020
@integrated-differentiation

Quite interested. Whom do I contact?

@chronicrebellion
Copy link

definitely interested in helping out in Javascript/React/C#, Web scraping, UI/UX

jackett has helped me out so much - this is certainly the least i could do

@cadatoiva
Copy link
Collaborator Author

cadatoiva commented Apr 14, 2020

Thanks for your interest! There are 3 main ways C# devs can help. First, is fixing any tracker bugs that are C# only. You can find these under the Needs C# label in the issue tracker: https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+C%23%22

Second thing we need help with is updating all the tracker code so that we can better see what features are being used and find other improvements for the project. To help with this, you can go through any trackers you have an account with (all C# indexers are in this folder: https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Indexers) and clean up their code. This includes things like bringing the older code in line with our new-ish style guidelines, updating the category lists, adding IMDB support if it's not already there (#4859), testing that the results show up correctly, including dead torrents, etc.

Resources to help you get started:

  • Our C# style guide
  • Some already cleaned indexers for reference are: HD-Space, 720pier, PassThePopcorn, TorrentLeech, HDTorrents, cinecalidad, funfile, and pretome

And the third way is by helping us improve code coverage by writing unit tests for core components. This is done using the NUnit3 library, and we'd like you to start with covering the classes in https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Utils

If you have any questions, the best way to contact me right now is to tag me in an Issue or a PR, as I basically live on GitHub with the lockdown.

For those who want to help with the WebUI, I'll defer to @ngosang on contact and coordination.

@RoloSoze
Copy link
Collaborator

RoloSoze commented Apr 14, 2020

Thank you, @cadatoiva!

I'll just add that open issues which require Web UI/UX design & development are under the Web UI label. A list of these issues can be found here:
https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3A%22Web+UI%22

However, as @cadatoiva mentioned in his OP, we are looking to do a complete overhaul of the Web UI, so coordinating with @ngosang first is key.

Also, a wide variety of open issues is under the Enhancement label. It would be great if you're able to help resolve some of these if it fits your skill set:
https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3AEnhancement

Thank you once again for taking the initiative to help out @thastoned @integrated-differentiation @chronicrebellion

@cadatoiva
Copy link
Collaborator Author

You can also message me on discord. The Jackett discord is https://discord.gg/NSH5kRK and you can find me on there under the same username.

@bombz88
Copy link

bombz88 commented Apr 14, 2020

Hello,
I would love to help test as I am not a coder. I cannot seem to get anything related to TD working with sonarr?
Does anyone have suggestions? Can't get jackett working cant get RSS working.

@RoloSoze
Copy link
Collaborator

Hello,
I would love to help test as I am not a coder.

Thank you. If you see an open issue related to a tracker of which you are a member, you can help by checking to see if you're facing the same problem, or test the changes to see if they work.

I cannot seem to get anything related to TD working with sonarr?
Does anyone have suggestions? Can't get jackett working cant get RSS working.

For this you'd need to open a new issue and detail what the exact problem is. Make sure you provide the requested details.

@ngosang
Copy link
Member

ngosang commented Apr 14, 2020

For those interested in the WebUI. The current UI is written in JS / HTML / CSS and it does the job. The problem is that the code is very difficult to maintain for several reasons: The HTML code is mixed with the JS code in the same file. Old technologies like jQuery and Bootstrap 3 are used. It does not have a dependency control system. And it has no tests.

Instead of fixing the open bugs I have decided to make a new UI from scratch. I am using modern architecture, language and frameworks. NPM + Typescript + React + Redux + Ant design. It's really similar to the stack used by Sonarr v3 and Radarr. At the moment I am trying to organize the code well to serve as reference and implementing the current functionality of the Jackett UI.

What is done so far:

  • Technologies, architecture, construction system and code base are defined and working.
  • Global storage (Redux) and routing is configured and working.
  • The calls/interface to the configuration, indexers and search APIs are implemented.
  • Search functionality and settings are working (although incomplete).
  • I have made a small modification in the Jackett server so that it serves the two UIs, the old and the new at the same time, you can choose. By default it is still the old one so that users do not notice anything.

As for now I am alone I have not thought much about the organization and the roadmap, but it could be something like this:

  • Release an initial version with the current code. I have to clean the code a bit because I have been playing with many technologies. This code will be available in a branch but will not be merged to master yet.
  • Add the missing functionality to have the same functionality as the old UI. Add tests, unit tests and integration tests (we already have Selenium integrated in Azure pipelines). We continue working in the development branch until everything works.
  • Change the Azure pipeline to build the front, run unit/integration tests in each PR and release.
  • Merge the changes in master and make the two UIs available. By default it will be the new UI and we will display a message in the old UI to indicate that it is deprecated. By means of a button it will be possible to switch between versions in case any user finds a serious bug.
  • We begin to add new functionalities (open issues) and fix new bugs that users report.
  • In a couple of months after the release, if there are not many issues the old UI is completely removed.
  • We make changes to the APIs to include more features in the front. I have tons of ideas: multi user (with different roles, admin / regular user), stats page (with number of requests, most searched terms ...), more configurations, developer dashboard (like an advanced search to help in developing / testing), show more information about the trackers (user ratio, tokens, active uploads / downloads, invites available ...), groups of indexers, predefined search filters, group search results by infohash, dark theme, internationalization, more responsive UI for mobile ....

I need time to release the initial version (a week or two). If someone is interested I can open a PR with the code in the current state in case you want to take a look. After it is released I will open an issue with a TODOs list for anyone who wants to collaborate and for keeping the current state.

We will also need help with UX / UI. The truth is that we already have a logo and I am using a very nice design library that already includes a lot of components and a dark theme https://ant.design/components/button/. The help is more oriented to the usability and ordering of the components of the layout so that it is pleasant to use Jackett.

I am concerned about the long term. I will not disappear from one day to the next, but honestly I am in many projects and I don't know how much time I will be able to dedicate to Jackett in the future, after this is complete. Jackett has been without a front developer for years and I don't want that to happen again. So I ask for commitment.

image

@bombz88

This comment has been minimized.

@RoloSoze

This comment has been minimized.

@bombz88

This comment has been minimized.

@cadatoiva

This comment has been minimized.

@IzzyDunyet
Copy link

I was informed by a site, they will not co-operate with development of Jackett App and will ban members for testing the app on their site.

@RoloSoze
Copy link
Collaborator

I was informed by a site, they will not co-operate with development of Jackett App and will ban members for testing the app on their site.

@IzzyDunyet Jackett has actually been around for 5 years, it's not new. Many of us have been using it for years, and not once have I heard of anyone having issues because they used Jackett to search, download torrent files, or integrate with other apps.

It already works with 400+ trackers, and accessing a tracker with Jackett is the same as accessing it via a web browser, There is no added burden or load on the servers in any way,

This post simply aims to find volunteers willing to make Jackett's codebase more efficient, and the user interface more advanced. That's it.

@cadatoiva
Copy link
Collaborator Author

@IzzyDunyet curious. Did they say why? And do you mind sharing which site it was?

@RoloSoze
Copy link
Collaborator

@thastoned @integrated-differentiation @chronicrebellion

I hope you guys have had the chance to go over @cadatoiva's remarks about the required backend development #8180 (comment), as well as @ngosang's comments on the Web UI work that needs to be done #8180 (comment)

If you are able/willing to contribute in any way, please let us know. Thank you very much.

@datsunedd
Copy link

Hey, I got experience in C#, Java and SQL among other stuff. I am willing to learn more if needed. Let me know how I can be of help.

@RoloSoze
Copy link
Collaborator

@datsunedd Thank you! A good start would be to go over this ticket first, It'll give you an overview of where to start and how you can contribute given your skill set,

@ngosang
Copy link
Member

ngosang commented Apr 17, 2020

@datsunedd The best way to start is fixing one of the open issues. You can filter by label. A good start point is reading this #8180 (comment) , installing a C# IDE (Visual Studio or Rider) and try to add a new tracker you are interested in.

@IzzyDunyet
Copy link

I don't remember what site it was. But it struck me they are cautious of App's that share passkeys, ghostleech or can be used by the pirate hunters to catch torrent sites.

@scotrod
Copy link

scotrod commented Apr 22, 2020

I'm no coder, but I have few regs in private trackers. If anyone needs any testing, I can help.

@cadatoiva
Copy link
Collaborator Author

@scotrod thanks for your interest in helping. Check our open issues for any private trackers you have an account with and leave a comment there letting us know you can test any fixes for that ticket.

@triesmon
Copy link
Contributor

I'm trying to create a pull request but getting permission denied. What's the process for submitting one?

@Qstick

This comment has been minimized.

@Qstick

This comment has been minimized.

@angrycuban13

This comment has been minimized.

@garfield69

This comment has been minimized.

@ilike2burnthing

This comment has been minimized.

@Qstick
Copy link
Contributor

Qstick commented Nov 9, 2021

Thanks for the clarification @garfield69 and @ilike2burnthing. Indeed we hope to continue to work together and thank you guys for the contribution and comments on Prowlarr issues. Without the work of Jackett indeed there is no Prowlarr... Thus it's much appreciated. We'd love to entertain further discussion via discord (or another chat platform) when you guys see fit.

Feel free to mark this as off-topic :D

@pikMR
Copy link

pikMR commented Nov 27, 2021

i have 5 years about net core (c#) with azure pipelines, and some proyects with react.

@ilike2burnthing
Copy link
Contributor

Contributions are always welcomed. Please see open issues and help where you are able.

For a little more structure, see our projects so you can direct your attention towards you what you feel best suits your skills and interests. Similarly, the labels will help too.

@ilike2burnthing
Copy link
Contributor

TO ALL POTENTIAL CONTRIBUTORS

Our contributing guide has been updated to work with Visual Studio 2022, as we updated to .NET 6.0 two months ago. It has also been reworked to hopefully be easier for those less familiar with VS to get started.

https://github.com/Jackett/Jackett/blob/master/CONTRIBUTING.md#setting-up-your-environment

All contributions are welcomed, If you need any further help feel free to ask.

@Jackett Jackett deleted a comment Feb 28, 2022
@Jackett Jackett deleted a comment Feb 28, 2022
@slayer81
Copy link

slayer81 commented Sep 8, 2022

Hi. I don't have experience in any of the technologies listed above, but I do have experience in python, macOS/Linux sysadmin and also writing documentation. If any of these can be useful, I'm happy to donate some time.

@ilike2burnthing
Copy link
Contributor

None of the current maintainers are overly familiar with MacOS, just a few contributors who we occasionally ask for help. There are some older open MacOS issues if you want to cast your eye over them - OS MacOS

Our wiki is open to community edit, so feel free to make any changes you think would be needed there - https://github.com/Jackett/Jackett/wiki

You can submit PRs for edits to our README.md and CONTRIBUTING.md.

@huntingtonanalytics
Copy link

Hello, I have a small community for Jackett over on reddit. reddit.com/r/jackett. Some members have asked how to donate to the project. Is there a way to give jackett a github sponsorship or something? Thanks all. Also if any of the team want to come over just PM me so I can give you mod privileges. Moderation is pretty annoying as tons of spam bots come in and post ads for jackets and other apparel -_-

@huntingtonanalytics
Copy link

Hello, I have a small community for Jackett over on reddit. reddit.com/r/jackett. Some members have asked how to donate to the project. Is there a way to give jackett a github sponsorship or something? Thanks all. Also if any of the team want to come over just PM me so I can give you mod privileges. Moderation is pretty annoying as tons of spam bots come in and post ads for jackets and other apparel -_-

P.S. I don't know how github sponsorships work at all. I'm from the crypto world so something like this would fit easily into a DAO structure, where funds are stored in a multisig safe and can be distributed with something like n/(n+1) signatures. On chain governance is also a nice feature.

@ilike2burnthing
Copy link
Contributor

Thanks for the offer, but we don't have any costs beyond our own time and effort, so we don't take donations.

@huntingtonanalytics
Copy link

Thanks for the offer, but we don't have any costs beyond our own time and effort, so we don't take donations.

Roger that!

@WrayOfSunshine
Copy link

I deal with Azure pipelines for my day job - what kind of help do you need on that front still, if any?

@ilike2burnthing
Copy link
Contributor

Feel free to take a look at our setup, see if there any improvements which could be made - https://github.com/Jackett/Jackett/blob/master/azure-pipelines.yml

Previously, we had a lot of failed runs due to our musl builds causing collisions (the last ~10 commits from ngosang were all attempts to fix it). The solution was ultimately retrying on failure, which is working for us, but obviously preventing the collisions in the first place would be preferable.

@ajaykrshah
Copy link

Excited to pitch in with you! Just give me a heads-up on where to get started.

@ilike2burnthing
Copy link
Contributor

#8180 (comment)

@slayer81
Copy link

I can arrange private tracker access testing. Lmk

@ilike2burnthing
Copy link
Contributor

Do you have accounts for any trackers that are marked as Invite Needed in our Readme?

@slayer81
Copy link

slayer81 commented Dec 24, 2023 via email

@mahdisys
Copy link

Hi I have experience in .net development about 1 year and half
I love to contribute to improve my experience and my knowledge

@ilike2burnthing
Copy link
Contributor

Thanks, take a look at #8180 (comment).

@Rohit-Karki
Copy link

Hi, I am proficient in TypeScript, React, Redux about 1.5 year. I love to contribute. whom do I contact?

@ilike2burnthing
Copy link
Contributor

No one to contact, just read this comment and jump in - #8180 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ongoing PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem!
Projects
None yet
Development

No branches or pull requests