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

What's Next! #1

Closed
kisanjong opened this issue Jun 10, 2015 · 254 comments
Closed

What's Next! #1

kisanjong opened this issue Jun 10, 2015 · 254 comments

Comments

@kisanjong
Copy link
Owner

Post created so we can all get together and discuss how we should go about this.

Your ideas and comments please.

Thanks :)

@ravenwilde
Copy link
Contributor

Well... why don't we get started by introducing ourselves and respective skill-sets? I'll go first...

My name is Jennifer... I am a planted tank hobbyist and front end developer. I am proficient in HTML, CSS, Sass and pretty good with Javascript & PHP. I work on a Symfony based project during my day job but have no preference how you all want to handle the back end as I am pretty flexible although if you go Ruby it will take me a bit to get up to speed.

That's.... me :)

@ravenwilde
Copy link
Contributor

Oh... and I've worked before with HighCharts, Charts.js and Google Charts api... so I'm ready to plot stuff out all pretty like.

@kisanjong
Copy link
Owner Author

Hi Jennifer :) Jason here.

I'm more of a admin with a server (http://rotalabutterfly.com) for a few aquarium related websites.. www.barrreport.com being one of them.

Along with helping run this project, I can help by getting feedback from the users of rotalabutterfly.. What works, what needs changing, new features if any.. Etc.

Thanks :)

@kisanjong
Copy link
Owner Author

I think we should stay with a more friendly language as mentioned php, javascript and SQL if its even needed?

Moving away from ruby?

@kisanjong
Copy link
Owner Author

For anyone that is not apart of the development team but would like to have your say you are more than welcome to join the conversation at

http://www.barrreport.com/forum/barr-report/aquatic-plant-fertilization/225720-a-new-nutrient-calculator

Thanks :)

@ravenwilde
Copy link
Contributor

Do we have an index of the old site plotted out anywhere? Its been years since I used it and I don't remember things like:

  • how many different interfaces were there?
  • how many and which calculators were there?
  • how was the data output?

@fablau
Copy link
Collaborator

fablau commented Jun 12, 2015

Hi Jennifer and Jason, I am Fabrizio. I met Jason on the barrreport, I am a passionate planted aquarium lover, as well as a web programmer. My specialities are PHP, MySQL, JavaScript, jQuery, CSS and HTML (Perl also, but nowadays is outdated). I have also good knowledge of basic system management and configurations on Linux, but, I say it right away, I don't know Ruby at all!

Jennifer, if you feel confident working on the UI, I could take care of the more mere backend (PHP and MySQL). Any more people interested in jumping on the wagon?

@kisanjong
Copy link
Owner Author

Welcome Fab great to see you here :)

@kisanjong
Copy link
Owner Author

Hi Jennifer

Most of the answers you need can be found here

https://github.com/kisanjong/yet-another-nutrient-calculator/tree/master/constants

The best way to see what's going on is to use the running code here

http://yanc.rotalabutterfly.com

@fablau
Copy link
Collaborator

fablau commented Jun 12, 2015

Thanks Jason, glad to be here!

I think the best and easy way to go would be to establish a nice HTML interface (Jennifer?), and interface it to the back end via AJAX with jQuery (very easy to do). That would give high responsiveness, similarly to Wet's calculator. I could work on the back end interfaced via AJAX. I can help with jQuery if needed. jQuery could also help us to create a very responsive interface (jQuery UI is very cool!).

Just my ideas to start, in some way :)

@fablau
Copy link
Collaborator

fablau commented Jun 12, 2015

The constants at:
https://github.com/kisanjong/yet-another-nutrient-calculator/tree/master/constants

Can be easily put into a MySQL database for retrieval via PHP. That's the easiest part :)

@kisanjong
Copy link
Owner Author

The constants are great news that will save a lot of time :)

In the back end can we add a admin interface so new products can be added with ease?, it does not need to be anything special just basic with name and contents fields I.e. fe % etc

Fab your plan sounds good to me :)

Should the layout stay the same? Left side calculate, right side result?

Thanks :)

@ravenwilde
Copy link
Contributor

That could be a way to go... I have been wanting to work with React.js though, I can still make Ajax calls to the database or API with React - thoughts?

Either way - I like to plan things out beforehand. I will sit down this weekend and draw up some super basic wireframes/flows we can review before I jump into code. Sound good?

@ravenwilde
Copy link
Contributor

Also, Hi Fabrizio! Welcome to the party :)

@ravenwilde
Copy link
Contributor

Question - how/where do we handle the mathematics & calculations?

@fablau
Copy link
Collaborator

fablau commented Jun 12, 2015

Hi Jennifer! React sounds good to me, I have never heard of it, but if you are familiar with it, that's ok with me. I was thinking at jQuery because it also could help us with the UI (possible sliders, graphics, etc) and because it is probably the most known and popular JS library out there. So, anyone in the future can easily put his hands on that. Just my 2 cents!

I think the best way to handle mathematics would be via PHP with AJAX calls. I have already done several projects that way, and works great.

To Jason: Yes, I like the idea to keep the old interface structure, it is intuitive and people are already used to it. And of course, we can easily make a back end interface (sort of "Control Panel" or whatever). That's easy!

@ravenwilde
Copy link
Contributor

I'm glad to hear that you want to handle the mathematics with PHP - I feel wholly unqualified to be in charge of that part :)

React is fairly new-ish - it was is a framework Facebook has been developing for the past several years so its surprisingly robust. I'm going to give it a go for this project and see how it does. I'll probably use elements from Bootstrap for the interface itself.

Other questions:

  1. to clarify: we're building the calcs at yanc.rotalabutterfly.com as well as dropcheck.rotalabutterfly.com and glut.rotalabutterfly.com correct? Perhaps we should focus first on getting yanc.rotalabutterfly.com working and then move on to the other two, releasing them as we go.

  2. What kind of git workflow do we want to use? All contribute directly to the repo or pull forks and then contrib via pull request?

@fablau
Copy link
Collaborator

fablau commented Jun 12, 2015

Ok Jennifer, I see your point, and that would be ok for me (despite I won't be able to put easily my hands on your code later on, just because I don't know that framework at all). So that I'd leave to you anything interface-side (I hope those frameworks are enough powerful on that side). Let's see what Jason says about that.

I am ok with point 1. And I leave point 2 to Jason's decision.

I am wondering if there will be any more contributors here, because that way we could have more input about all this.

Thanks!

@ravenwilde
Copy link
Contributor

RE: Bootstrap... I'm planning to 'wrap' it in this theme https://bootswatch.com/sandstone/... its nice and warm and I like the green navbar. Reminds me of a planted tank.

As far as react.js being powerful I'm sure it will be fine since from a technical standpoint we're not doing terribly much, we don't need a full MVC framework, just some state-based interface jazz to make it interactive - and that's exactly what react was designed for :)

@kisanjong
Copy link
Owner Author

@ravenwilde

our first point of action is yanc. as this is the main feature the users are after then once this is completed it would be great to update the other features as extra features, along with maybe some new ones.

I'm happy to use whatever language you guys feel happy with as long as it does what is required and new features can be added to that at a later date.

Bootwatch is a nice looking theme if Fab is happy to use that then I am.

With bootwatch can we have a responsive theme for desktop and mobile devices?

As different people are creating different parts of this project what method of github would you recommend?

Thanks :)

@kisanjong
Copy link
Owner Author

@fablau

Im working on trying to get more involved in this project as I agree the more input the better.

We need to have visual as well as text based results output from the calculator/s.. Text and Charts etc.

@kisanjong
Copy link
Owner Author

We also need language files that can be selected by users that speak different languages.. English, French, German, Japanese etc..

@kisanjong
Copy link
Owner Author

Save results as PDF, Printable results?

@fablau
Copy link
Collaborator

fablau commented Jun 13, 2015

I am ok with that Jennifer and Jason! We can everything you like once we have PHP, MySQL and AJAX. Ready to go!

@ravenwilde
Copy link
Contributor

  • Mobile friendly - Yes! Everything I design these days is mobile first, responsive. So we will have one site/interface that can be used easily on any device.
  • Charts and Graphs, no problem - I believe Flores used the HighCharts library to achieve this and I have no problem continuing to do so as I've used it before and like the results.
  • PDF, printable results we can probably also work out - at the VERY least for the first launch I will include a print css file that will make the site and results printable. Later on we might be able to work out some kind of PDF generator.

So.... workflow for Git- I suggest that we establish an agreed upon workflow prior to starting anything. I can come up with a proposed flow if you like, just not this second because its Friday and I am about to kick back for the evening... I have a rough idea of what we should probably do but I want to look around at some recommended workflows to run by you guys first.

So far this all sounds great though - check back with you both tomorrow.

@kisanjong
Copy link
Owner Author

Sounds like a good plan to me Jennifer :)

Please go ahead with the workflow I'm sure me and Fab will be more than happy with it :)

Any extra features will happen over time for now it's about getting the main calculator running and tested by experienced users of the original yanc.

Enjoy you evening Jennifer and thanks for your time in making this work its greatly appreciated 👍

@ravenwilde
Copy link
Contributor

I lied... or rather, we only had one episode of our current tv show left in our queue ;)

Here is the workflow I'd like for us to try and use: http://nvie.com/posts/a-successful-git-branching-model/

Especially pay attention to git merge --no-ff when it pops up - we've had a lot of problems crop up where people haven't been using the --no-ff... it makes this very difficult to untangle if/when something goes wrong.

Question for Fabrizio - as far as PHP goes - are you planning on using a framework, or just writing the app from scratch? Either is cool, I'm just curious.

@kisanjong
Copy link
Owner Author

That was quick :) Sounds good Jennifer and as your use to github I'm sure it's the way to go :)

It also makes sense not merging finished features until they are tested.

Obviously developers will use local servers to work but I will setup a new subdomain on rotalabutterfly to test any code before moving it to its final domain.

@kisanjong
Copy link
Owner Author

I've updated the homepage of http://rotalabutterfly.com with some info about this project, hopefully it will bring in some more volunteers and ideas.

@ravenwilde
Copy link
Contributor

Hey guys - was out of town for the weekend so sorry for the silence.

Anyway - Fab - I'm pretty sure its not working on my local because I don't have something set up correctly. I will spend some time now getting that to happen and get back to you.

To answer your other question:

Jennifer, just a question before I forget: I see your package includes over 6,000 files. Can we just keep the necessary ones once we are done with the work? Thanks.

Yes, of course, once we're out of dev stage I'll pare things down and we'll have a trimmed down version for production. Also, if you check the notes I put in README.md there is a list of stuff we do not need to upload to the PROD or Test servers. The bulk of my files are libs I'm importing via Bower (and I'll role PROD versions of those pre-deployment) or pre-compiled code that doesn't need to be uploaded to our servers.

@ravenwilde
Copy link
Contributor

Fabrizio - can you email me the version of main.php that you have working at: http://media.virtualsheetmusic.com/test/rotala/php/main.php ?

I'm still having difficulty getting it to work on my local. I'm getting a 200 success response so AJAX is working, however, I'm getting a parse error 'Unexpected token <' and I can't figure out why its working for both of you guys but not me.

@ravenwilde
Copy link
Contributor

Never mind - I fixed the parse error. I think we're using different version of php or my server is set up to be more strict or something because it just would not deal with .php files beginning with <?. After I went and changed them to <?php I stopped getting the parse error. Now I'm just getting a 500 error so I assume its because something in my config file is off.

@ravenwilde
Copy link
Contributor

I'm using PHP 5.4.30, btw - what are you both using on your test servers?

@kisanjong
Copy link
Owner Author

Hi Jen

PHP Version 5.4.42

@fablau
Copy link
Collaborator

fablau commented Jul 13, 2015

Yes, of course, once we're out of dev stage I'll pare things down and we'll have a trimmed down version for production. Also, if you check the notes I put in README.md there is a list of stuff we do not need to upload to the PROD or Test servers. The bulk of my files are libs I'm importing via Bower (and I'll role PROD versions of those pre-deployment) or pre-compiled code that doesn't need to be uploaded to our servers.

Great!!

@fablau
Copy link
Collaborator

fablau commented Jul 13, 2015

Jen, I am using PHP 5.4.41. Have you installed the YAML parser:
http://php.net/manual/en/book.yaml.php

Also, have you configured the config.php correctly? Jason set the $domain variable to the URL of the calculator (including the dir) and didn't work, whereas it should really be just the domain name. Let me know if any of this helps...

@ravenwilde
Copy link
Contributor

Oh... no I did not install the YAML parser. Crap. Let me do that and get back to you.

@fablau
Copy link
Collaborator

fablau commented Jul 13, 2015

Yeah, that's kind of a hassle... but it's nice to handle .yml docs for humans! Keep us posted...

@ravenwilde
Copy link
Contributor

Okay, got the YAML parser working (you weren't kidding... PECL & PEAR, UGH) and I got the AJAX call and response working as well.

There were a few minor changes to main.php that I made - added a check for AJAX request, and changed the way the results were being returned because otherwise it would not work on my server. I'm still not sure WHY my local server is behaving differently but I don't think any of the changes should crash it on your servers. If anything, I've made it more strict.

I'll work on doing stuff with the results now and when I have something I'll merge it into dev.

Good work on the php code, btw Fabrizio - its very nicely written and commented, been a pleasure to work with :)

@fablau
Copy link
Collaborator

fablau commented Jul 15, 2015

Great to know that Jennifer! I look forward to see the updated version :)

@MattWalczak
Copy link

I've tried the test sure on iPad with chrome and safari. Both browsers don't show result after pressing calculate.

Matt

On Jul 15, 2015, at 3:49 PM, Fabrizio Ferrari notifications@github.com wrote:

Great to know that Jennifer! I look forward to see the updated version :)


Reply to this email directly or view it on GitHub.

@kisanjong
Copy link
Owner Author

Hi Matt the test site is only frontend, back end is under development so no results are shown yet.

@kisanjong
Copy link
Owner Author

Hey Jen how's it going? :)

@ravenwilde
Copy link
Contributor

Hey guys - I'm pushing a real quick update right now. I've got the results printing out - no fancy messages yet, but they're now available now so you can begin having people test the results.

The dev branch is up to date with this and you guys can put it on your servers for testing.

I'm going to be working on this for the rest of the afternoon so I'll probably push more later tonight or tomorrow morning.

@fablau
Copy link
Collaborator

fablau commented Jul 20, 2015

Jennifer, I have updated my testing location here with your new code:

http://media.virtualsheetmusic.com/test/rotala/

But I still don't see any results shown.

Here is what I have updated, please, let me know if I forgot anything:

js_build/app.js
js_view/NutrientCalculator.js
php/main.php

I have also updated the paths to the following calls inside app.js:

http://rotala.dev/json/compounds.json
http://rotala.dev/json/commercial-products.json

To reflect my own URL. Did I forget anything else?

Thanks.

Fab.

@kisanjong
Copy link
Owner Author

Hi both

Fab I changed the same files and getting results at rotalabutterfly.com/test/

But when I select a new different fertiliser the previous one stays showing both.

@ravenwilde
Copy link
Contributor

But when I select a new different fertiliser the previous one stays showing both.

Jason - I've fixed this and its better now.

Fab - One thing I can see straight off is that index.html has not been updated because the div that the results output to is missing. Did you pull the dev branch and deploy from that? You should pull the entire branch so you are sure to get everything, not just the files that changed in the last commit.

@ravenwilde
Copy link
Contributor

I have also updated the paths to the following calls inside app.js:

http://rotala.dev/json/compounds.json
http://rotala.dev/json/commercial-products.json

I'll update my code to use relative URLS for those calls so you won't have to do that in the future.

@ravenwilde
Copy link
Contributor

PS. I just pushed the stuff I've been working on this afternoon to the ui branch (which includes the two fixes I just mentioned). If you want to pull code from that and deploy it have at it.

@kisanjong
Copy link
Owner Author

Thanks Jen :)

Its working fine now, and the no need to edit the files is great.

Fab the only file that needs to be edited is the php/config.php

I've not tested to see if the calculations are correct yet but the only thing I can see at the moment is some parts are not pulling certain text from the languages files.

And if I select premix it starts with ada blighty k but to select that one to use I need to select another one then reselect the ada blighty k.

@kisanjong
Copy link
Owner Author

screenshot_2015-07-21-06-06-16

If you look at the text in the image it shows 122gramsKNO3 without spaces and also some text such as dose_units should show Dose Units.

@kisanjong
Copy link
Owner Author

Another handy feature would be a print results button?

@ravenwilde
Copy link
Contributor

I've not tested to see if the calculations are correct yet but the only thing I can see at the moment is some parts are not pulling certain text from the languages files.

Yep - So... here's what's up with that. The way the old app handled this is that it would pull a message string from the text file and (because it was ruby) it would then replace certain variables in that string with their matching values. With Javascript I cannot do this as it does not currently handle variable interpolation within strings.

ECMA 6, however, does apparently have this feature and since I'm using Browserify to handle the JSX transpilation I could get this to work (in theory anyway), however, I have not played around with this yet.

Another way we could handle this is to have Fab compile the message text server side and then just hand off the completed message - Fab, your thoughts on this?

And if I select premix it starts with ada blighty k but to select that one to use I need to select another one then reselect the ada blighty k.

Yep, that's on my list of tiny bugs - I'll be sure to fix that for the next push (am creating an issue for this so I remember)

Another handy feature would be a print results button?

Indeed. I am going to make another issue for this so we can keep track of this. Its definitely something I want to do, but I'm going to hold off on for the moment in preference for sorting out more immediate stuff.

Glad to hear that its working for you. I'm going to spend today working on this further so I'll probably push some more updates tonight.

In the meantime - since we are beginning to test calculations (and have others help us with this) I think we should try to create a new issue for each bug/error - that way its easier to keep track of them and close them off once they're fixed. We should encourage our testers to do the same so stuff does not get lost in this mega thread.

@fablau
Copy link
Collaborator

fablau commented Jul 21, 2015

Hi guys, I was able to make it work by pulling the complete UI branch. I wanted to avoid that because of the thousands of files involved, but by zipping everything first and unzipping it later made it fast :)

My only request for now is to make the "Round to digits past decimal:" set to 2 by default.

See you in the next postings below...

@fablau
Copy link
Collaborator

fablau commented Jul 21, 2015

Another way we could handle this is to have Fab compile the message text server side and then just hand off the completed message - Fab, your thoughts on this?

Yes, I can do that if you like. That will be pretty easy. Let me know if you wanna go that way...

@fablau
Copy link
Collaborator

fablau commented Jul 21, 2015

n the meantime - since we are beginning to test calculations (and have others help us with this) I think we should try to create a new issue for each bug/error - that way its easier to keep track of them and close them off once they're fixed. We should encourage our testers to do the same so stuff does not get lost in this mega thread.

Great idea Jen. I am down with that!

@kisanjong
Copy link
Owner Author

It all sounds good to me :)

This thread needs closing and what's next 2 needs creating as its taking me ages to get to the last post on my phone :) ?

Different bug / feature new post makes sense.

Thanks

@ravenwilde
Copy link
Contributor

I'll close this thread and create one called 'General Development Talk' where we can talk about handing off code, etc... like we've been doing here. Any other issues/bugs should go in their own issues - that way we can close them as they get taken care of.

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

No branches or pull requests

6 participants