Don’t show off. Its ok if your code is verbose the easier to read, the _better_.
All our code will use the GNU Affero General Public [License](LICENSE.md).Any dependancies that are brought into nodenogg.in must have as open a License as possible. Dependancies should be loaded in via Vue.js ui cli.
## Basics
Please Use arrow functions as much ES6 as possible. We want the code to be as neat as possible. However all code should be human understandable. So again verbose is good.
All if statements should use curly braces to indicate the statement block { } please
Apply ESLint and Prettier to all code please.
Use the settings in the Vue.js package.json and in your code editor enforce the following conventions.
- singleQuote: true
- semi: false
## Comments and Documentation
Use comments, in fact over use comments.
Feel free to retro add comments after a batch of code.
Use the following format to highlight concerns KEYWORD:Comment. For Example TODO:this needs to be amended to arrow functions. These can also be added as Issues in Github (see note below) but do not need to be.
We want to build docs from the Codebase as well so please use the Standard conventions of [JSDoc](https://jsdoc.app/).
## Gitlab is the truth of the Codebase
All the original code should be stored at the gitlab group https://gitlab.adamprocter.co.uk/nn
## Github mirrored codebase
The code base is mirrored to github for two reasons. Backup and to support organisation of Issues within GitKraken Glo Boards. We recommend [GitKraken](https://www.gitkraken.com/invite/uwPBRPCR) for use with Gitlab.
## Semantic versioning
This repo started the 0.1.0 From now on all branches will be considered patches so the naming convention will be incrementing the final digit MAJOR.MINOR.PATCH so the next version is 0.1.1 more on Semantic versioning can be read [here](https://semver.org/)
Versions increase when app code base changes. Documentation changes do not bump versions.
## Feature Branches
We use the feature branch workflow. Please do not work from master, check out master and branch. Once work is completed do a pull request to master. A longer guide is [here](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow)
There are special branches which will deploy to online versions of nodenogg.in, beta, alpha and release. Do not work from or pull request to these branches. These are used for deployment only.
## Changelog
Please update the [Changelog](CHANGELOG.md) as part of a pull request to the master.
nodenogg.in empowers communities of practice to build and create knowledge by bridging the physical and digital studio spaces.Designers and makers spatially arrange materials, links and thoughts within the shared digital platform.
nodenogg.in is free open source software, built in the open, inclusive by design, private by design, humane centered by design, delightful by design, intuitive and decentralised by design.
# Overarching Guide for Contributions
Contributions to nodenogg.in must abide by the [Delightful Design Manifesto](MANIFESTO.md). More detail on Contributing can be read [here](CONTRIIBUTING.md).
# Keeping up with nodenogg.in
The main site is located at https://nodenogg.in
For blog and short information on development you can see them at my discursive blog under the PhD [category](https://discursive.adamprocter.co.uk/categories/phd/).
There are also development videos on my [YouTube Channel ](https://www.youtube.com/channel/UCiFY1PKloMcquwuOoWmWTwg) or these can be seen live on [Twitch](https://www.twitch.tv/procterbot).
You read more specific details on development at [researchnot.es](https://researchnot.es/). We also have a [discourse forum](https://discourse.adamprocter.co.uk/) you can join for feedback. If you are contributing to the code we recommend joining the [discord](https://discord.gg/hEADgC7).
If you want to deep dive into the theory that is informing the design process and manifesto visit [manifold](https://manifold.soton.ac.uk).
You can get all of the above via RSS using this [OPML file](https://nodenogg.in/feed/subs.opml) as well.
# Thank you
Built with 💛 using open web tech HTML, CSS, Javascript, Vue.js, PouchDB and CouchDB.