DNAnalyzer icon indicating copy to clipboard operation
DNAnalyzer copied to clipboard

Output content to a HTML webpage instead of to Terminal

Open VerisimilitudeX opened this issue 3 years ago • 19 comments

VerisimilitudeX avatar Aug 17 '22 01:08 VerisimilitudeX

Can you specify please more information about this requirement? Also, I can help with this

charlygg avatar Sep 30 '22 00:09 charlygg

Hi @charlygg, thanks for your interest in contributing to the world of open source! Outputting the content of the program to a static web page is something that the developer team will really appreciate. To get started, navigate to our GitHub repository: https://github.com/Verisimilitude11/DNAnalyzer and fork it. Take some time to read the documentation and to acquaint yourself with the code. Thanks again for contributing, we at DNAnalyzer really appreciate your time and help!

VerisimilitudeX avatar Sep 30 '22 03:09 VerisimilitudeX

Regarding the requirements for this issue, I actually don't have a strong background in web development. However, @Nv7-GitHub should be able to answer this question pretty well. We'll get back to you within 24 hours. However, in a broad sense, we could go about this in 2 ways:

  1. The program currently outputs to the Terminal - change this to output to a static web page (use a Servlet container with a template page and just fill in the values outputted by the Java code): image
  2. Change all of the code to JavaScript (perhaps we can use a converter online) and create a full-fledged web version of the analyzer

If you have any ideas/suggestions for implementing this, please let us know! Also, if this feels like it would take too much time, feel free to check out some of the easier issues in this project.

VerisimilitudeX avatar Sep 30 '22 04:09 VerisimilitudeX

@Nv7-GitHub could you please help us with this?

VerisimilitudeX avatar Oct 01 '22 04:10 VerisimilitudeX

Yeah, the first method would be pretty easily integrated with the existing codebase (just output HTML code instead of formatted text), but the second one would require a lot more code (code an HTTP server). I could implement generating an HTML output file soon though, probably as an option for the output format.

Nv7-GitHub avatar Oct 02 '22 19:10 Nv7-GitHub

Yeah, the first method would be pretty easily integrated with the existing codebase (just output HTML code instead of formatted text), but the second one would require a lot more code (code an HTTP server). I could implement generating an HTML output file soon though, probably as an option for the output format.

Sounds good @Nv7-GitHub. Let's go with option 1 then. I assigned the issue to you.

VerisimilitudeX avatar Oct 03 '22 01:10 VerisimilitudeX

Yeah, the first method would be pretty easily integrated with the existing codebase (just output HTML code instead of formatted text), but the second one would require a lot more code (code an HTTP server). I could implement generating an HTML output file soon though, probably as an option for the output format.

Understood, If you are generating the output in HTML, I could integrate some styles (CSS) to the output page (HTML)

charlygg avatar Oct 03 '22 14:10 charlygg

Sounds great! Would it be possible to implement this in both light and dark mode?

VerisimilitudeX avatar Oct 03 '22 16:10 VerisimilitudeX

Maybe the website can have information about DNAnalyzer as well (from the README)

VerisimilitudeX avatar Oct 03 '22 16:10 VerisimilitudeX

Actually we could do it how go tool pprof does it where it normally outputs to terminal but has an option to host a webserver which returns an HTML page with the data on it

Nv7-GitHub avatar Oct 03 '22 18:10 Nv7-GitHub

2 questions:

  1. Would something like this be able to be implemented in Java?
  2. Would CSS be able to implemented in addition to this?

VerisimilitudeX avatar Oct 03 '22 18:10 VerisimilitudeX

Yeah I´ve made a static HTTP server without any java dependencies before, and CSS could definitely be implemented in the static page to have a dark & light mode.

Nv7-GitHub avatar Oct 03 '22 18:10 Nv7-GitHub

Epic. @charlygg does this sound like something you can implement with the help of @Nv7-GitHub and me?

VerisimilitudeX avatar Oct 03 '22 18:10 VerisimilitudeX

Yes, I can work on the style for the output page, both dark & light mode

charlygg avatar Oct 04 '22 21:10 charlygg

@charlygg any updates?

VerisimilitudeX avatar Oct 18 '22 00:10 VerisimilitudeX

@charlygg do you need any help on this?

VerisimilitudeX avatar Oct 24 '22 16:10 VerisimilitudeX

@Nv7-GitHub, do you want to get started on this? We can add this as a CLI arg. Let me know if that works (you can take as much time as you want with this issue)!

VerisimilitudeX avatar Oct 27 '22 06:10 VerisimilitudeX

I'll see if I have time

Nv7-GitHub avatar Oct 27 '22 17:10 Nv7-GitHub

I'll see if I have time

Alright, sounds good!

VerisimilitudeX avatar Oct 31 '22 03:10 VerisimilitudeX

@Verisimilitude11 Do you want to lay off with this issue as a GUI is being developed?

LimesKey avatar Nov 01 '22 00:11 LimesKey

@Verisimilitude11 Do you want to lay off with this issue as a GUI is being developed?

No I think that we should keep it actually since what we could do is develop a front end and use our current code as the backend. This would allow people to upload files to the website and get it analyzed. We would still keep the GUI and actively develop it as more privacy centric users and users wanting more performance could use it. So, we would have a CLI for power users, a GUI for scientists/researchers, and a website for average users who don't know how to download Java and gradle.

VerisimilitudeX avatar Nov 01 '22 00:11 VerisimilitudeX

Hosting that would be expensive... you could probably add a queue system. That is a good idea though, makes it very easy for average users to use this.

LimesKey avatar Nov 01 '22 00:11 LimesKey

Don’t worry about that, I can pay for all fees and we probably get some money through GitHub sponsors. I’m planning on using serverless technology with Azure functions, which means that we’ll only pay for the time on the server that we use. One thing we’ll have to do is do some security stuff to prevent DDOS attacks.

VerisimilitudeX avatar Nov 01 '22 01:11 VerisimilitudeX

I can handle security stuff with Cloudflare, I'm good at that stuff.

LimesKey avatar Nov 01 '22 01:11 LimesKey

Alright, sounds great!

VerisimilitudeX avatar Nov 01 '22 01:11 VerisimilitudeX

Stale issue message

github-actions[bot] avatar Mar 11 '23 18:03 github-actions[bot]

Stale issue message

github-actions[bot] avatar May 23 '23 18:05 github-actions[bot]

@charlygg are you still interested in this?

VerisimilitudeX avatar May 23 '23 20:05 VerisimilitudeX

Stale issue message

github-actions[bot] avatar Jul 23 '23 18:07 github-actions[bot]