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

requirements for contribution #24

Open
nnako opened this issue Apr 12, 2017 · 12 comments
Open

requirements for contribution #24

nnako opened this issue Apr 12, 2017 · 12 comments

Comments

@nnako
Copy link

nnako commented Apr 12, 2017

I'd like to contribute to this project, so I want to read through the existing source code. Though I know how to apply the basic web technologies HTML, CSS and JavaScript, this project seems to use some further (advanced) technologies CXJS, React, CircleCi, Babel, ... I currently don't know which parts of tdo belong to tdo itself and which belong to its framework (consisting of these further technologies / libraries).

  1. Is there a minimum list of technologies necessary to be studied beforehand?
  2. Is there some structure information and process information about how tdo is built?
  3. Could I get some starters to speed up my contributions?
@nnako
Copy link
Author

nnako commented Apr 13, 2017

just to add some information for clarification of what I'm looking for...

This is a rough structure of components and interactions which I would like to further specify and add more details. In the end, there might come out a structure covering the entire spplication. With blocks corresponding to the folders (or even files) within tdo's source file repository:

pic__rough_overview

If I had some more structural information, I could try to complete the structure sketch. This might help also other developers to contribute in this project.

What do you think?

@mstijak
Copy link
Owner

mstijak commented Apr 13, 2017

@nnako This diagram looks very nice. I would remove CircleCI from this picture as it's just a tool used to publish tdo to GitHub Pages.

Regarding your original idea, I like it. I would recommend using GitHub Project Wiki to document the architecture of the application. I'm very busy at the moment, but I would gladly review your contributions and provide instructions.

  1. The minimum required knowledge for understanding tdo would be the basics of React, CxJS and Redux.
  2. There is no other information available. This is just mine weekend project that turned to be more than that.
  3. Not sure what do you mean by starters?

There are also other things that I would love to do here. Some actions are still not implemented using Redux. There are no tests. CxJS now supports drag and drop which could be added to tdo. I wrote that before, I would love to integrate Firebase real-time features which would enable use on multiple devices.

@nnako
Copy link
Author

nnako commented Apr 24, 2017

@mstijak Thanks ;-)

MINIMUM REQUIREMENTS
I had a look into React, CxJS and Redux for the past two weeks and I like it. Although, the mix of technologies is still a bit confusing for me (coming from pure JavaScript). By the term "starters" I just mean "help" in the way that I know where to start my journey into tdo. Like starting from the data models or the user interface or the actions processing. But I already kind of got along.

STRUCTURE DOCUMENTATION
I now have some structure drawings which I could provide for review. Should I put them on my own project fork, first?

DEVELOPMENT ENVIRONMENT
How do you devs develop tdo practically? As the executable sources reside as minimized versions within the dist folder, straight forward debugging using the browser's means doesn't seem adequate. So, now I have to follow this development process:

  • apply my changes to the source code
  • re-compile
  • re-build
  • transfer contents from dist folder onto client
  • refresh application within client's browser
  • see the results and start all over again

Is there a more comfortable way of development?

@mstijak
Copy link
Owner

mstijak commented Apr 24, 2017

OMG, just run yarn start or npm start (it's written in the README). That will start a local server and open the browser. JS and CSS get automatically compiled and the browser is auto updated on each save.

For a start, putting the documentation in your own fork first seems reasonable.

@nnako
Copy link
Author

nnako commented Apr 25, 2017

Unfortunately, this doesn't seem to be as easy as we'd like it to be. I have been working on two systems (no further system seems to be available), yet:

Windows 7 64bit
Here, I successfully installed "node.js" and successfully ran "npm install" from within the tdo project base folder (where the git repo stuff is locally stored). But running "npm run build" afterwards throws two pages full of errors which I can not solve at the moment (due to not being a native node expert). Please see the log file attached to this comment. And running "npm start" as you suggested turns out to do the same thing as "npm run build", just within the automatically opened browser window. :-(

log__npm_run_build.txt

RaspberryPi v3 running Raspbian Linux
Here, I don't use any windows environment. This is why I had been able to at least build the application and transfer it to an other client (as described in my last post).

Sorry for this. I hope, there will be some kind of solution available. Am I the only Windows OS user for tdo?

Any help available? Any hints?

@mstijak
Copy link
Owner

mstijak commented Apr 25, 2017

I'm not sure why that happens. It seems like an older version of CxJS is used which is missing manifest.js.

I just updated all dependencies. Can you please pull and try again? It should work.

@nnako
Copy link
Author

nnako commented Apr 25, 2017

-> pulled current version using git pull origin master -> ok (see log)
-> re-installed application using npm install -> ok (see log)
-> tried npm run build -> not ok (see logs)
-> tried npm start -> ??? (shows no errors, but EMPTY browser window)

log__npm_run_build__after_pull.txt
npm-debug.txt

@mstijak
Copy link
Owner

mstijak commented Apr 25, 2017

Strange, I don't get the same error. I have removed ampersands. Now?

@jacekk
Copy link
Contributor

jacekk commented Apr 25, 2017

https://github.com/codaxy/cxjs/releases - there are only two releases out there, and none is 17.* in which manifest.json appeared --> manifest.js. @nnako check which version of cxjs has been installed inside node_modules.

@mstijak
Copy link
Owner

mstijak commented Apr 25, 2017

@jacekk Unfortunately, GitHub releases for CxJS are not in sync with npm releases. We need to do a better job in that area.

@nnako
Copy link
Author

nnako commented Apr 26, 2017

@jacekk my cx version seems to be 17.4.0 or 17.5.2 as the package.json file says so:

{
  "_args": [
    [
      {
        "raw": "cx@^17.4.0",
        "scope": null,
        "escapedName": "cx",
        "name": "cx",
        "rawSpec": "^17.4.0",
        "spec": ">=17.4.0 <18.0.0",
        "type": "range"
      },
      "C:\\Users\\Nnamdi\\02 - TOOLS\\_JavaScript\\APP__tdo\\node_modules\\cx-core"
    ]
  ],
  "_from": "cx@>=17.4.0 <18.0.0",
  "_id": "[email protected]",
  "_inCache": true,
  "_location": "/cx",
  "_nodeVersion": "7.8.0",
  "_npmOperationalInternal": {
    "host": "packages-12-west.internal.npmjs.com",
    "tmp": "tmp/cx-17.5.2.tgz_1493041510177_0.08263959852047265"
  },
  "_npmUser": {
    "name": "mstijak",
    "email": "[email protected]"
  },
  "_npmVersion": "4.2.0",
  "_phantomChildren": {},
  "_requested": {
    "raw": "cx@^17.4.0",
    "scope": null,
    "escapedName": "cx",
    "name": "cx",
    "rawSpec": "^17.4.0",
    "spec": ">=17.4.0 <18.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/cx-core"
  ],
  "_resolved": "https://registry.npmjs.org/cx/-/cx-17.5.2.tgz",
  "_shasum": "9a29f5903d92cd6ddf0fd435bec289bc222d6a92",
  "_shrinkwrap": null,
  "_spec": "cx@^17.4.0",
  "_where": "C:\\Users\\Nnamdi\\02 - TOOLS\\_JavaScript\\APP__tdo\\node_modules\\cx-core",
  "author": {
    "name": "Codaxy"
  },
  "bugs": {
    "url": "https://github.com/codaxy/cx"
  },
  "dependencies": {
    "intl-io": "^0.2.3",
    "route-parser": "^0.0.5"
  },
  "description": "Advanced JavaScript UI framework for admin and dashboard applications with ready to use grid, form and chart components.",
  "devDependencies": {},
  "directories": {},
  "dist": {
    "shasum": "9a29f5903d92cd6ddf0fd435bec289bc222d6a92",
    "tarball": "https://registry.npmjs.org/cx/-/cx-17.5.2.tgz"
  },
  "homepage": "https://github.com/codaxy/cx",
  "jsnext:main": "src/index.js",
  "license": "SEE LICENSE IN LICENSE.md",
  "main": "index.js",
  "maintainers": [
    {
      "name": "mstijak",
      "email": "[email protected]"
    }
  ],
  "name": "cx",
  "optionalDependencies": {},
  "readme": "ERROR: No README data found!",
  "repository": {
    "type": "git",
    "url": "git+ssh://[email protected]/codaxy/cx.git"
  },
  "scripts": {},
  "version": "17.5.2"
}

@nnako
Copy link
Author

nnako commented Apr 26, 2017

oh. It seems to work now. What I did on the console:

-> npm install -g create-react-app ... got it from some YouTube video
-> git pull origin master to pull the latest changes from the repo
-> npm install again => ok.
-> npm run build again => ok.

see log for detailed information:
log__170426__01__console_output.txt

... why did it work on Raspbian without problems? Hope, it still compiles over there...

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

3 participants