Laverna: Getting Started with Development for this project...

Created on 16 Aug 2016  ·  4Comments  ·  Source: Laverna/laverna

At some point I would like to start developing/ improving features for this project but I have some questions about getting started:

  1. Is there a formal criteria that is required when coding an idea in order for it to be accepted into the master version (adopt best coding practices, use only the languages and frameworks specified in the project, include your name when making a revision, ..., etc.) or are we free to implement it however we want?
  2. What are all of the programming languages and frameworks that are being used? It seems to me that the core is JavaScript or a JavaScript framework (appears to be backbone js) on the development side, while Mocha and Karma is used for the testing framework.

Also, from reading #507, it seems as though there is not much of a difference in the source code between each version of this application (desktop, mobile, and web). The current feature that I am considering implementing is a tooltip for each icon within the toolbar while in "edit note" mode. I had planned on implementing this in the web version (by this I mean the source code hosted on GitHub which I'm assuming is web only), but if I later wanted to include this in the other two, is there a process that exists for doing this? (_This applies to writing unit tests as well not just development_)

Let me know if anything I've mentioned needs further clarification.

question

All 4 comments

  1. Coding style: 4 spaces (makes it easier easier to read IMO).
  2. Programming language of the project: JavaScript. Frameworks: Marionettejs.

You're right there isn't a difference between each version of the application. It means we don't have to implement the same feature each time for each type of the app.

@wwebfor Okay, so other than what you mentioned, we are free to implement our ideas however we see fit? To comment on your last point, if I implement a feature for the web version of the app, and then want to create the same feature, for the mobile and/or desktop versions, I would just need to download the appropriate file from the releases section?

Additional Questions:

  • Is it optional if I wanted to author my name into a new feature or change I contribute to, or would you rather I not do it (since we can tell based on who commits on github)?
  • Would you prefer, when people are making a feature / revision change to the project, that they do so in a new branch created from their fork, instead of creating the feature in their master fork and then submit it? (so if I wanted to make a tooltip feature for the toolbar where the user edits notes, I could create a branch in my fork called "tooltip-EditNote", implement the feature, and push it that way)
  • Yes, you are free to implement ideas however you see fit.
  • An implemented feature will be available for all platforms

Additional:

  • If you want to, it's your right. But it's not required.
  • Usually, we work on dev branch. So, it's preferable that you create your feature based on this branch and submit your changes to the same branch. It's also preferable if you create a feature on a new branch. It makes it more clear when merging changes or resolving conflicts.

@wwebfor I don't have any additional questions regarding this topic. I think it can be closed now.

Thanks for the clarification.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fanrongqitiancai picture fanrongqitiancai  ·  8Comments

magowiz picture magowiz  ·  7Comments

LuxGiammi picture LuxGiammi  ·  7Comments

InviteCiel picture InviteCiel  ·  3Comments

ericchartier picture ericchartier  ·  10Comments