Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bamlab/dev-standards

https://bamtech.gitbooks.io/dev-standards/
https://github.com/bamlab/dev-standards

bam development lean standardization

Last synced: 4 months ago
JSON representation

https://bamtech.gitbooks.io/dev-standards/

Awesome Lists containing this project

README

        

![](https://www.bam.tech/hs-fs/hubfs/Identity/Logo.jpg?t=1501080758406&width=200&name=Logo.jpg)

# Standards and Methods of Operation

> :warning: We are in process of migrating all the content to a private gitbook. The public content in this repository will be converted to blog articles for better acessibility.

## About us

We are mobile developers, based in Paris, working with hybrid and cross platform technologies.

Our goal is to help the client's business succeed, by solving their problems together using agile and lean,
and developing the best product to satisfy the client's user needs.

Learn more about us [in our french website](http://www.bam.tech/).

## Why this repository

Part of lean philosophy is to standardize best practices and spread them out.

Every time a developer is struggling doing a part of their job (e.g.: changing the application icon, deploying features very fast using code push, etc...),
we help them solve their problem and then together write either a [Standard] or a [Mode of Operation].

## Contributing

- **READ FIRST:** [[MO] Contributing](/contributing/contributing.mo.md)
- [[Standard] Writing a standard](/contributing/standard.s.md)
- [[Standard] Writing a method of operation](/contributing/mo.s.md)

## Backend

### Django

- [[MO] Get started with Django](/backend/django/getting-started.mo.md)
- [[MO] Create complex user models with Django](/backend/django/create-user-model.mo.md)
- [[MO] How to deploy your Django back-end to AWS](/backend/django/deploy-to-aws.mo.md)
- [[MO] Create a model and an api route](/backend/django/create-model-and-api.mo.md)

### GraphQL JS

- [[MO] Kick start a JS GraphQL 3 layers API with Apollo-server, Dataloader and Knex](/backend/graphql-js/getting-started-with-apollo-server-dataloader-knex.mo.md)

### Node JS

- [[Standard] Add multiple environments configuration on loopback](/backend/node-js/add-multiple-environments-configuration-on-loopback.s.md)
- [[Standard] Handle Errors and Exceptions in Javascript](/backend/node-js/handle-errors-and-exceptions-in-javascript.s.md)

## Code Quality

- [[MO] Test your React and React Native components' state with Jest (without Enzyme)](/code-quality/components-state-testing.mo.md)
- [[Standard] Pull Request Template](/code-quality/pull-request-template.s.md)
- [[Standard] Test files indentation](/code-quality/test-files-indentation.s.md)
- [[MO] How to use mocks with jest (~2min)](/code-quality/mock-with-jest.mo.md)
- [[MO] Set up Detox with Jest and automate it on Bitrise _(~ 1h)_](/react-native/tests/setup-detox-jest.mo.md)
- [[Standard] Handle Errors and Exceptions in Javascript](/backend/node-js/handle-errors-and-exceptions-in-javascript.s.md)

## Flowtype

- [[Standard] Flowtype](/flowtype/flowtype.s.md)

## Project Standards

- [Project Success](/project-standards/project-success/index.md)
- [Technical Agility](/project-standards/technical-agility/index.md)
- [Taking over an existing project](/project-standards/taking-over-project/index.md)

## Successful Sprint

### Coding

- [[Standard] Good practices to resolve a ticket](/successful-sprint/coding/plan-your-ticket-to-improve-efficency.s.md)

## Scrum

- [[Standard] Timebox](/scrum/timebox.s.md)

## React Native

### Setup

- [[MO] Adding a native module](/react-native/setup/add-native-module.mo.md)
- [[MO] Setup & Deploy New Project to Staging](/react-native/setup/setup-and-deploy-new-project-to-staging.mo.md)
- [[MO] Setup & Deploy New Project to Staging with HockeyApp (Deprecated)](/react-native/setup/setup-and-deploy-new-project-to-staging-with-hockeyapp.mo.md)
- [[MO] Deploy Project to Production - Only iOS Testflight](/react-native/setup/deploy-project-to-production.md)
- [[MO] Deploy Project to Production - Android Play Store](/react-native/setup/deploy-to-production-android.mo.md)
- [[MO] Setup Code-Push on an existing project](/react-native/setup/setup-code-push.mo.md)
- [[MO] Add a deploy script to your app](/react-native/setup/deploy-script.mo.md)
- [[MO] Add Cocoapods to your project (~10min)](/react-native/setup/add-cocoapods.mo.md)
- [[Article] Setup your React Native project icon](https://blog.bam.tech/developper-news/change-your-react-native-app-icons-in-a-single-command-line)
- [[MO] Use http links in react native](/react-native/use_http_links_in_react_native.mo.md)
- [[MO] Setup Firebase with multiple environments (~1h)](/react-native/setup/setup_firebase_multiple_envs.mo.md)
- [[MO] Setup Facebook login](/react-native/setup/setup-facebook-login.mo.md)
- [[MO] Upgrade React Native](/react-native/update/upgrade-react-native.mo.md)
- [[MO] Setup Stripe Payment Form](/react-native/setup/setup-stripe-dev-standard.mo.md)
- [[MO] Patch React Native Android](/react-native/setup/patch-react-native-android.mo.md)
- [[MO] Remove Default Android Permissions Android](/react-native/setup/remove-unnecessary-android-permissions.mo.md)
- [[Standard] Override an existing app](/react-native/setup/overriding-existing-app.s.md)
- [[MO] Set up Detox with Jest and automate it on Bitrise _(~ 1h)_](/react-native/tests/setup-detox-jest.mo.md)

### Architecture

- [[Standard] Default stack](/react-native/architecture/default-stack.s.md)
- [[Standard] Project Architecture](/react-native/architecture/project-architecture.s.md)
- [[Standard] File Naming](/react-native/architecture/file-naming.s.md)
- [[Standard] Handle Errors and Exceptions in Javascript](/backend/node-js/handle-errors-and-exceptions-in-javascript.s.md)

### Animations

- [[Standard] React Native animations](/react-native/animations/react-native-animations.s.md)

### Debugging

- [[MO] Debug Javascript Code](/react-native/debugging/debug-javascript.mo.md)
- [[MO] Debug on Android](/react-native/debugging/debug-native-android.mo.md)
- [[MO] Debug Native iOS Code](/react-native/debugging/debug-native-ios.mo.md)
- [[MO] Debug Javascript on an iOS Device](/react-native/debugging/debug-javascript-ios-device.mo.md)
- [[MO] Debug Network calls](/react-native/debugging/debug-network-calls.mo.md)
- [[MO] Debug a React Native WebView](/react-native/debugging/debug-webviews.mo.md)
- [[MO] Handle gradle dependencies versions clashes](/react-native/debugging/handle-gradle-dependencies-clash.mo.md)
- [[MO] Debug two iOS apps simultaneously](/react-native/debugging/debug-two-ios-apps-simultaneously.mo.md)
- [[MO] Get iOS Logs](/react-native/debugging/get-ios-logs.mo.md)
- [[MO] How to analyse and react to a bug on a React-Native project](/react-native/debugging/analyse-bug.mo.md)

### Javascript

- [[MO] Promisify a callback](/javascript/promisify-a-callback.mo.md)

### React

- [[Standard] Binding functions in a React component](/react-native/react/binding-functions-in-react-component.s.md)
- [[MO] Enable component overflow on Android](/react-native/react/enable-overflow-android.mo.md)
- [[Standard] Wrinting a Component](/react/component.s.md)

### Features

- [[Article] Add a sharing feature to the app](https://blog.bam.tech/developper-news/sharing-content-with-react-native)
- [[MO] Setup DeepLinking with react-navigation](/react-native/features/deep-linking.md)
- [[MO] Lock the device orientation](/react-native/features/lock-device-orientation.mo.md)
- [[MO] Add icon(s) with icomoon](/react-native/features/icomoon.mo.md)
- [[MO] Preloading MobX data with AsyncStorage](/react-native/features/asyncstorage.mo.md)
- [[MO] Implement offline with MobX](/react-native/features/offline-mobx.mo.md)
- [[MO] Implement offline with Redux](/react-native/features/offline-redux.mo.md)
- [[Standard] Implementing a clean logout](/react-native/features/clean-logout.s.md)
- [[MO] Get the size or position of a component with onLayout](/react-native/react/get-element-size-or-position-with-onLayout.mo.md)

### Package Dependencies

- [[MO] Handle dependencies with Yarn override](/react-native/package-dependencies/handle-dependencies-with-yarn-override.mo.md)

### React-Navigation

- [[MO] Unmount a component on page change _(~10 min)_](/react-native/react-navigation/unmount-compoenent-on-page-change.mo.md)

### Firebase

- [[MO] Good practices to debug events in Firebase](/react-native/firebase/debug-events.mo.md)

## React

### Redux

- [[MO] Custom fields with redux-form](/react/redux/custom-redux-form-field.mo.md)
- [[Package] Factorise common Redux async boilerplate with redux-async-actions-factory](https://github.com/bamlab/redux-async-actions-factory)
- [[Package] Gain development speed on Redux with redux-enhancer](https://github.com/bamlab/redux-enhancer)
- [[MO] Pass props to a container](/react/redux/pass-props-to-container.mo.md)

### Lifecycle

- [[MO] Trigger an action on props update](/react/lifecycle/trigger-action-on-props-update.mo.md)

## Editors

- [[Standard] Boost up my code editor](/editors/boost-up-my-code-editor.s.md)

### Visual Studio Code

- [[MO] Setup VSCode](/editors/vscode/setup-vscode.mo.md)

## Security

- [[MO] 2-Factor Authentication](/security/2FA.mo.md) (15 min)
- [[MO] Import certificates into Match](/security/import_certificates_match.mo.md) (30 min)

## Front and Back-end Performance

- [[Standard] Performance decision flow](/performance/performance-decision-flow.s.md)
- [[Standard] React Native performance](/performance/front/react-native-performance.s.md)
- [[Standard] React Native maps performance](/performance/front/react-native-maps-performance.s.md)
- [[MO] Investigate front-end performance issues](/performance/front/how-to-investigate-performance.mo.md)
- [[MO] Investigate back-end performance issues](/performance/backend/how-to-investigate-performance.mo.md)

## OPS

- [[MO] Setup HTTPS on your docker environment](/ops/docker/deploy-with-https.mo.md) (10 min)

## License

Creative Commons License
BAM Standards is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

## Contributors

[![All Contributors](https://img.shields.io/badge/all_contributors-30-orange.svg?style=flat-square)](#contributors)

Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):

| [
Yann Leflour](http://bamlab.fr/)
[πŸ“](#blog-yleflour "Blogposts") [πŸš‡](#infra-yleflour "Infrastructure (Hosting, Build-Tools, etc)") [πŸ‘€](#review-yleflour "Reviewed Pull Requests") | [
TychoTa](https://twitter.com/TychoTa)
[πŸ“](#blog-tychota "Blogposts") [πŸš‡](#infra-tychota "Infrastructure (Hosting, Build-Tools, etc)") [πŸ‘€](#review-tychota "Reviewed Pull Requests") | [
Kevin Raynel](https://github.com/kraynel)
[πŸ“](#blog-kraynel "Blogposts") [πŸ‘€](#review-kraynel "Reviewed Pull Requests") | [
Xavier Lefèvre](https://github.com/xavierlefevre)
[πŸ“](#blog-xavierlefevre "Blogposts") [πŸ‘€](#review-xavierlefevre "Reviewed Pull Requests") | [
Louis Lagrange](https://github.com/Minishlink)
[πŸ“](#blog-Minishlink "Blogposts") [πŸ‘€](#review-Minishlink "Reviewed Pull Requests") | [
Alexandre Moureaux](http://blog.bam.tech)
[πŸ“](#blog-Almouro "Blogposts") [πŸ‘€](#review-Almouro "Reviewed Pull Requests") | [
Darius Afchar](https://github.com/DariusAf)
[πŸ“](#blog-DariusAf "Blogposts") [πŸ‘€](#review-DariusAf "Reviewed Pull Requests") |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [
Arthur Levoyer](https://github.com/Arlevoy)
[πŸ“](#blog-Arlevoy "Blogposts") [πŸ‘€](#review-Arlevoy "Reviewed Pull Requests") | [
Florian Rival](http://www.compilgames.net)
[πŸ“](#blog-4ian "Blogposts") [πŸ‘€](#review-4ian "Reviewed Pull Requests") | [
Nicolas Djambazian](http://nicolas.djambazian.fr)
[πŸ“](#blog-Nhacsam "Blogposts") [πŸ‘€](#review-Nhacsam "Reviewed Pull Requests") | [
Thomas Pucci](https://github.com/tpucci)
[πŸ“](#blog-tpucci "Blogposts") [πŸ‘€](#review-tpucci "Reviewed Pull Requests") | [
Maxime Bourliatoux](https://github.com/bourliam)
[πŸ“](#blog-bourliam "Blogposts") [πŸ‘€](#review-bourliam "Reviewed Pull Requests") | [
AliceB08](https://github.com/AliceB08)
[πŸ“](#blog-AliceB08 "Blogposts") [πŸ‘€](#review-AliceB08 "Reviewed Pull Requests") | [
AuroreM](https://github.com/AuroreM)
[πŸ“](#blog-AuroreM "Blogposts") |
| [
Kevin Jean](https://github.com/Miniplop)
[πŸ“](#blog-Miniplop "Blogposts") [πŸ‘€](#review-Miniplop "Reviewed Pull Requests") | [
Jean Faverie](https://github.com/jfaverie)
[πŸ“](#blog-jfaverie "Blogposts") [πŸ‘€](#review-jfaverie "Reviewed Pull Requests") | [
Surya Ambrose](https://github.com/suryaambrose)
[πŸ“](#blog-suryaambrose "Blogposts") [πŸ‘€](#review-suryaambrose "Reviewed Pull Requests") | [
Amaury Liet](https://github.com/AmauryLiet)
[πŸ“](#blog-AmauryLiet "Blogposts") [πŸ‘€](#review-AmauryLiet "Reviewed Pull Requests") | [
Nicolas Ngomai](https://github.com/lechinoix)
[πŸ“](#blog-lechinoix "Blogposts") [πŸ‘€](#review-lechinoix "Reviewed Pull Requests") | [
Julien](https://github.com/juliennassar)
[πŸ“](#blog-juliennassar "Blogposts") [πŸ‘€](#review-juliennassar "Reviewed Pull Requests") | [
Selim Ben Ammar](https://github.com/SelimBenAmmar)
[πŸ“](#blog-SelimBenAmmar "Blogposts") [πŸ‘€](#review-SelimBenAmmar "Reviewed Pull Requests") |
| [
GuillaumeRenouvin](https://github.com/GuillaumeRenouvin)
[πŸ’¬](#question-GuillaumeRenouvin "Answering Questions") [πŸ‘€](#review-GuillaumeRenouvin "Reviewed Pull Requests") | [
yassinecc](https://github.com/yassinecc)
[πŸ“](#blog-yassinecc "Blogposts") [πŸ‘€](#review-yassinecc "Reviewed Pull Requests") | [
Orta](http://orta.io)
[πŸ“–](https://github.com/bamlab/dev-standard/commits?author=orta "Documentation") [πŸ€”](#ideas-orta "Ideas, Planning, & Feedback") | [
ClΓ©ment](https://github.com/taboulot)
[πŸ“](#blog-taboulot "Blogposts") [πŸ‘€](#review-taboulot "Reviewed Pull Requests") | [
emilienchvt](https://github.com/emilienchvt)
[πŸ“](#blog-emilienchvt "Blogposts") [πŸ‘€](#review-emilienchvt "Reviewed Pull Requests") | [
Pierre-Louis Le Portz](https://github.com/pleportz)
[πŸ“](#blog-pleportz "Blogposts") [πŸ‘€](#review-pleportz "Reviewed Pull Requests") | [
Sammy Teillet](https://github.com/Samox)
[πŸ“](#blog-Samox "Blogposts") [πŸ‘€](#review-Samox "Reviewed Pull Requests") |
| [
louiszawadzki](https://github.com/louiszawadzki)
[πŸ“](#blog-louiszawadzki "Blogposts") [πŸ‘€](#review-louiszawadzki "Reviewed Pull Requests") | [
justinemignot](https://github.com/justinemignot)
[πŸ“](#blog-justinemignot "Blogposts") [πŸ‘€](#review-justinemignot "Reviewed Pull Requests") |

This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!