Feedback on side-project

Hi,

I am new to elixir community.
I would like to know which would be a appropriate place to get feedback for on-going side project (WIP) which i started to lean elixir ?

Someone can have a look at the code, if something can be improved on, I am sure there will be many things.
In terms of features which can be added or anything genuine feedback
I am thinking to evolve more this project to cover as much as elixir.

Thanks

1 Like

Hi,

Here is a great place to get feedback & advice in general :slight_smile:
But what do you specifically mean by on-going side project?

Best

1 Like

by on-going side project I mean it’s under development.

Do you have it on github or a similar service?

1 Like

Sure then :slight_smile: as @zpeters said simply provide a repo or snippet :slight_smile:

@Laymer and @zpeters,

https://github.com/navyad/moviematch

Above is the repo link :slightly_smiling_face:

Hi @navyad, nice stuff! Maybe I’ll use your code in the future, didn’t know about yts! :grin:

A couple of points:

  • When you used with, you probably wanted to use <- instead of =, both are possible, the with docs explains well the difference :slightly_smiling_face:

  • in mix.exs:17, you define applications, but you usually shouldn’t do it, we let Elixir figure that out for us, here more about it

1 Like

Thanks @rodrigues. Surely will take into consideration.

I’m not big into torrents but it would be interesting if you could integrate a torrent downloader into the library.

Another thing that you may want to do is look into https://github.com/rrrene/credo

@zpeters Interesting one. yts endpoint additionally provide the following info

 %{
            "date_uploaded" => "2019-01-13 00:22:59",
            "date_uploaded_unix" => 1547335379,
            "hash" => "277D29D3EBB4FCA40A3E185EF0753A667DB3BD09",
            "peers" => 39,
            "quality" => "720p",
            "seeds" => 422,
            "size" => "1.22 GB",
            "size_bytes" => 1309965025,
            "type" => "web",
            "url" => "https://yts.am/torrent/download/277D29D3EBB4FCA40A3E185EF0753A667DB3BD09"
          },

It has the torrent download url, which can be used.

I have just had a short amount of time to take a look at the code and didn’t have the chance to actually test it out, so I will not allow myself to get critical anyhow.

Based on my very superficial overview, I have not spotted any catastrophic flaw that could destroy earth in your repo.

The only thing I might suggest is to take a look at HTML parsing and JSON encoding/decoding libraries and see if one of them fits your use case, so that you are not required to validate and benchmark your own procedures for these features. Who knows, maybe José Valim has already written some components that you could reuse, and that would provide you some SOLID building blocks and you would not have to bother about it.

Also, I would suggest a very strict (really very strict) set of rules when fetching web content. Currently, the ECMAScript standards and the V8 documentation are surprisingly full of features that, in my own non-web developer opinion, contain functions that enable behaviors that might not be desirable for a client. For instance, the DOM and it’s associated resources can be manipulated using a plethora of functions that make it seamless, yet have considerable side effects.

I would also suggest giving a read to the CORB specifications, and actually anything related to best practices for a safe handling of web content, and privacy preservation. JavaScript for one is an extremely powerful tool, and as such comes with great responsibility. And since it is not always taken into account on the service provider’s side, that responsibility might end up being yours.

As far the Elixir implementation is concerned, I think the more experienced members that have answered will be currently much more helpful for that matter.

Hope this helps :slightly_smiling_face:

Best,

Igor

@Laymer ,
Will certainly have a look at HTML parsing library, although using https://github.com/philss/floki/ and had a use case where javascript needs to parsed for which i created a issue .
For json encoding and decoding using poison

it will good to know how to do safe handling of web content going through specification will certainly help to get the idea.

Thanks for your time and providing valuable feedback. :v:

1 Like

You’re more than welcome :slight_smile: Will be glad to help anytime if I can :+1:

README is updated

1 Like