SENA

Solar ENergy and Automation (Internet of Things - IoT)

This project is maintained by bspasso

中文版 | 日本語版 | 한국어

Project Guidelines · PRs Welcome

While developing a new project is like rolling on a green field for you, maintaining it is a potential dark twisted nightmare for someone else. Here’s a list of guidelines we’ve found, written and gathered that (we think) works really well with most JavaScript projects here at elsewhen. If you want to share a best practice, or think one of these guidelines should be removed, feel free to share it with us.

🔥 Checkout our minimal react redux starter in Flow with hot reloading and server-side rendering.


1. Git

Git

1.1 Some Git rules

There are a set of rules to keep in mind:

1.2 Git workflow

Because of most of the reasons above, we use Feature-branch-workflow with Interactive Rebasing and some elements of Gitflow (naming and having a develop branch). The main steps are as follows:

1.3 Writing good commit messages

Having a good guideline for creating commits and sticking to it makes working with Git and collaborating with others a lot easier. Here are some rules of thumb (source):

2. Documentation

Documentation

3. Environments

Environments

3.1 Consistent dev environments:

3.2 Consistent dependencies:

4. Dependencies

Github

5. Testing

Testing

6. Structure and Naming

Structure and Naming

7. Code style

Code style

7.1 Some code style guidelines

7.2 Enforcing code style standards

8. Logging

Logging

9. API

API

9.1 API design

Why:

Because we try to enforce development of sanely constructed RESTful interfaces, which team members and clients can consume simply and consistently.

Why:

Lack of consistency and simplicity can massively increase integration and maintenance costs. Which is why API design is included in this document.

9.2 API security

These are some basic security best practices:

9.3 API documentation

For each endpoint explain:

10. Licensing

Licensing

Make sure you use resources that you have the rights to use. If you use libraries, remember to look for MIT, Apache or BSD but if you modify them, then take a look at the license details. Copyrighted images and videos may cause legal problems.


Sources: RisingStack Engineering, Mozilla Developer Network, Heroku Dev Center, Airbnb/javascript, Atlassian Git tutorials, Apigee, Wishtack

Icons by icons8