├── .github └── ISSUE_TEMPLATE │ └── feature_request.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Onboarding ├── Junior │ ├── Backend Developer.md │ ├── DevOps Developer.md │ ├── Frontend Developer.md │ └── Mobile Developer.md ├── Regular │ ├── Backend Developer.md │ ├── DevOps Developer.md │ ├── Frontend Developer.md │ └── Mobile Developer.md └── Senior │ ├── Backend Developer.md │ ├── DevOps Developer.md │ ├── Frontend Developer.md │ └── Mobile Developer.md ├── README.md ├── Technical Guide ├── Junior to Regular │ ├── Backend Developer.md │ ├── DevOps Developer.md │ ├── Frontend Developer.md │ └── Mobile Developer.md └── Regular to Senior │ ├── Backend Developer.md │ ├── DevOps Developer.md │ ├── Frontend Developer.md │ └── Mobile Developer.md ├── Technical Stack ├── Backend Developer.md ├── Backend Developer │ ├── 3rd Party.md │ ├── Classes Enhancement.md │ ├── Code Analysis.md │ ├── Company best practices.md │ ├── Data Formats.md │ ├── Databases.md │ ├── Date & Time.md │ ├── Development Tools.md │ ├── Documenting.md │ ├── Javascript.md │ ├── Python.md │ └── Testing.md ├── DevOps Developer.md ├── DevOps Developer │ ├── Application Servers.md │ ├── CDN.md │ ├── Company best practices.md │ ├── Containerization Services.md │ ├── Continuous Integration.md │ ├── DNS.md │ ├── Databases.md │ ├── Docker Registry.md │ ├── Generic AWS Services.md │ ├── IaC.md │ ├── Message Brokers.md │ ├── Monitoring.md │ ├── Storage.md │ ├── Task Queues.md │ └── VPS Services.md ├── Frontend Developer.md ├── Frontend Developer │ ├── Animations.md │ ├── Application state management.md │ ├── Apptension React Boilerplate.md │ ├── Audio and Video.md │ ├── Backend & DevOps.md │ ├── Browsers.md │ ├── Common Application Modules.md │ ├── Company practices.md │ ├── Date & Time.md │ ├── Development Tools.md │ ├── Fonts.md │ ├── Forms.md │ ├── Functional programming.md │ ├── HTTP.md │ ├── Internationalization.md │ ├── Languages.md │ ├── Misc.md │ ├── Monitoring.md │ ├── Performance.md │ ├── React.md │ ├── Routing.md │ ├── SEO.md │ ├── SSR & Prerendering.md │ ├── Styling.md │ ├── Templating engines.md │ ├── Testing.md │ ├── Tools.md │ └── Visualizations.md ├── Mobile Developer.md └── Mobile Developer │ ├── Animations.md │ ├── Application state management.md │ ├── CI │ └── CD.md │ ├── Common Application Modules.md │ ├── Company best practices.md │ ├── Components.md │ ├── Crash reporting │ └── Monitoring.md │ ├── Date & Time.md │ ├── Development tools.md │ ├── HTTP.md │ ├── Internationalization.md │ ├── Navigation.md │ ├── Performance.md │ ├── React-native.md │ ├── React.md │ ├── Services.md │ ├── Testing.md │ ├── Tools.md │ └── Versioning.md └── images ├── course-banner.png └── dev-handbook-schema.png /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: pziemkowski 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at poznan@apptension.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | We are very open to contributions to extend or change the requirements based on your gut and experience. 2 | To contribute you can use a pull request which will be later validated by our technical team and added to the main docs. 3 | 4 | If you will spot any issues please add them in the Issues section. 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Flairs.ai 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Onboarding/Junior/DevOps Developer.md: -------------------------------------------------------------------------------- 1 | DevOps Developer 2 | ================ 3 | 4 | Company best practices 5 | ---------------------- 6 | 7 | ### [Git](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#git) 8 | 9 | * [ ] You create pull requests with proper name and description [:books:](https://medium.com/@hugooodias/the-anatomy-of-a-perfect-pull-request-567382bb6067) 10 | * [ ] You squash merge your pull requests [:books:](https://blog.pairworking.com/why-you-should-care-about-squash-and-merge-in-git-675856bf66b0) 11 | * [ ] You name your commits properly [:books:](https://chris.beams.io/posts/git-commit/) 12 | 13 | ### [Communication](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#communication) 14 | 15 | #### [Slack](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#slack) 16 | 17 | * [ ] You use Slack statuses in line with company policy (remote working, vacationing, in a meeting, etc) 18 | 19 | * * * 20 | 21 | Contribution 22 | ------------ 23 | 24 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 25 | 26 | If you will spot any issues please add them in the **Issues** section. 27 | 28 | Credits 29 | ------- 30 | 31 | This page is maintained by [Apptension](https://apptension.com) team. 32 | 33 | You can see more of our work here: [Apptension portfolio](https://www.apptension.com/portfolio). 34 | 35 | License 36 | ------- 37 | 38 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 39 | 40 | © 2023 Apptension Sp. z o.o. 41 | 42 | Built and maintained by [Apptension](https://apptension.com). 43 | 44 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 45 | 46 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 49 | -------------------------------------------------------------------------------- /Technical Guide/Junior to Regular/DevOps Developer.md: -------------------------------------------------------------------------------- 1 | DevOps Developer 2 | ================ 3 | 4 | Company best practices 5 | ---------------------- 6 | 7 | ### [Git](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#git) 8 | 9 | * [ ] You create pull requests with proper name and description [:books:](https://medium.com/@hugooodias/the-anatomy-of-a-perfect-pull-request-567382bb6067) 10 | * [ ] You squash merge your pull requests [:books:](https://blog.pairworking.com/why-you-should-care-about-squash-and-merge-in-git-675856bf66b0) 11 | * [ ] You name your commits properly [:books:](https://chris.beams.io/posts/git-commit/) 12 | 13 | #### [GitHub](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#git-hub) 14 | 15 | * [ ] You know how to create and reference issues 16 | * [ ] You know how to verify when a build check failed 17 | 18 | ### [Communication](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#communication) 19 | 20 | #### [Slack](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#slack) 21 | 22 | * [ ] You use Slack statuses in line with company policy (remote working, vacationing, in a meeting, etc) 23 | * [ ] You know how to create groups and channels 24 | 25 | #### [Small Improvements](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#small-improvements) 26 | 27 | * [ ] You know how to give praise and add talk topics to a 1:1 meeting 28 | 29 | #### [Email](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#email) 30 | 31 | * [ ] You can configure local email client 32 | 33 | * * * 34 | 35 | Contribution 36 | ------------ 37 | 38 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 39 | 40 | If you will spot any issues please add them in the **Issues** section. 41 | 42 | Credits 43 | ------- 44 | 45 | This page is maintained by [Apptension](https://apptension.com) team. 46 | 47 | You can see more of our work here: [Apptension portfolio](https://www.apptension.com/portfolio). 48 | 49 | License 50 | ------- 51 | 52 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 53 | 54 | © 2023 Apptension Sp. z o.o. 55 | 56 | Built and maintained by [Apptension](https://apptension.com). 57 | 58 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 59 | 60 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 61 | 62 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 63 | -------------------------------------------------------------------------------- /Technical Stack/Backend Developer.md: -------------------------------------------------------------------------------- 1 | Backend Developer 2 | ----------------- 3 | 4 | ### Browse by technical topic 5 | 6 | * [Company best practices](/Technical%20Stack/Backend%20Developer/Company%20best%20practices.md) 7 | * [Python](/Technical%20Stack/Backend%20Developer/Python.md) 8 | * [Testing](/Technical%20Stack/Backend%20Developer/Testing.md) 9 | * [Date & Time](/Technical%20Stack/Backend%20Developer/Date%20&%20Time.md) 10 | * [Databases](/Technical%20Stack/Backend%20Developer/Databases.md) 11 | * [Javascript](/Technical%20Stack/Backend%20Developer/Javascript.md) 12 | * [Data Formats](/Technical%20Stack/Backend%20Developer/Data%20Formats.md) 13 | * [3rd Party](/Technical%20Stack/Backend%20Developer/3rd%20Party.md) 14 | * [Documenting](/Technical%20Stack/Backend%20Developer/Documenting.md) 15 | * [Development Tools](/Technical%20Stack/Backend%20Developer/Development%20Tools.md) 16 | * [Classes Enhancement](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md) 17 | * [Code Analysis](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md) 18 | 19 | * * * 20 | 21 | Contribution 22 | ------------ 23 | 24 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 25 | 26 | If you will spot any issues please add them in the **Issues** section. 27 | 28 | Credits 29 | ------- 30 | 31 | This page is maintained by [Apptension](https://apptension.com) team. 32 | 33 | You can see more of our work here: [Apptension portfolio](https://www.apptension.com/portfolio). 34 | 35 | License 36 | ------- 37 | 38 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 39 | 40 | © 2023 Apptension Sp. z o.o. 41 | 42 | Built and maintained by [Apptension](https://apptension.com). 43 | 44 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 45 | 46 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 49 | -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/3rd Party.md: -------------------------------------------------------------------------------- 1 | 3rd Party 2 | ========= 3 | 4 | [Payment Services](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#payment-services) 5 | ------------------------------------------------------------------------------------------ 6 | 7 | ### [Stripe](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#stripe) 8 | 9 | #### [Python](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#python) 10 | 11 | * [ ] You can create a payment using django-stripe-payments 12 | * [ ] You know how to do a refund 13 | 14 | [Authentication Services](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#authentication-services) 15 | -------------------------------------------------------------------------------------------------------- 16 | 17 | ### [OAuth](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#oauth) 18 | 19 | #### [Auth0](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#auth0) 20 | 21 | * [ ] You know how to activate a provider 22 | * [ ] You know how to upload custom templates 23 | 24 | #### [You know how to authorize a user with one of the social accounts](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#you-know-how-to-authorize-a-user-with-one-of-the-social-accounts) 25 | 26 | * [ ] django-oauth-toolkit 27 | * [ ] python-social-auth 28 | * [ ] oauthlib 29 | 30 | ### [JWT](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#jwt) 31 | 32 | * [ ] You how used at least one library to work with JWT 33 | * [ ] You can create JWT with custom payload 34 | 35 | #### [JWT Libraries](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#jwt-libraries) 36 | 37 | * [ ] pyjwt 38 | * [ ] python-jose 39 | * [ ] python-jwt 40 | 41 | [Contentful](/Technical%20Stack/Backend%20Developer/3rd%20Party.md#contentful) 42 | ------------------------------------------------------------------------------ 43 | 44 | * [ ] You can manage webhooks 45 | * [ ] You can upload models from CLI 46 | 47 | * * * 48 | 49 | Contribution 50 | ------------ 51 | 52 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 53 | 54 | If you will spot any issues please add them in the **Issues** section. 55 | 56 | Credits 57 | ------- 58 | 59 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 60 | 61 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 62 | 63 | License 64 | ------- 65 | 66 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 67 | 68 | © 2020 Flairs Sp. z o.o. 69 | 70 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 71 | 72 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 73 | 74 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 75 | 76 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Classes Enhancement.md: -------------------------------------------------------------------------------- 1 | Classes Enhancement 2 | =================== 3 | 4 | [You enhance code with two or more libraries](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#you-enhance-code-with-two-or-more-libraries) 5 | ---------------------------------------------------------------------------------------------------------------------------------------------------------- 6 | 7 | ### [dataclasses](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#dataclasses) 8 | 9 | * [ ] dataclasses - (Python standard library) Data classes. 10 | 11 | ### [attrs](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#attrs) 12 | 13 | * [ ] attrs - Replacement for __init__, __eq__, __repr__, etc. boilerplate in class definitions. 14 | 15 | ### [bidict](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#bidict) 16 | 17 | * [ ] bidict - Efficient, Pythonic bidirectional map data structures and related functionality.. 18 | 19 | ### [Box](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#box) 20 | 21 | * [ ] Box - Python dictionaries with advanced dot notation access. 22 | 23 | ### [DottedDict](/Technical%20Stack/Backend%20Developer/Classes%20Enhancement.md#dotted-dict) 24 | 25 | * [ ] DottedDict - A library that provides a method of accessing lists and dicts with a dotted path notation. 26 | 27 | * * * 28 | 29 | Contribution 30 | ------------ 31 | 32 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 33 | 34 | If you will spot any issues please add them in the **Issues** section. 35 | 36 | Credits 37 | ------- 38 | 39 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 40 | 41 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 42 | 43 | License 44 | ------- 45 | 46 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 47 | 48 | © 2020 Flairs Sp. z o.o. 49 | 50 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 51 | 52 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 53 | 54 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 55 | 56 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Code Analysis.md: -------------------------------------------------------------------------------- 1 | Code Analysis 2 | ============= 3 | 4 | [Profilers](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#profilers) 5 | -------------------------------------------------------------------------------- 6 | 7 | ### [Google Cloud Profiler](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#google-cloud-profiler) 8 | 9 | * [ ] You are able to read flame graph 10 | 11 | ### [cProfiler](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#c-profiler) 12 | 13 | * [ ] You know how to read results table, including cumulative time 14 | 15 | [Code Linters](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#code-linters) 16 | -------------------------------------------------------------------------------------- 17 | 18 | ### [flake8](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#flake8) 19 | 20 | * [ ] You know how to configure 21 | 22 | ### [pylint](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#pylint) 23 | 24 | * [ ] You know how to write custom rule 25 | 26 | [Code Formatters](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#code-formatters) 27 | -------------------------------------------------------------------------------------------- 28 | 29 | ### [black](/Technical%20Stack/Backend%20Developer/Code%20Analysis.md#black) 30 | 31 | * [ ] You are able to adjust defaults 32 | 33 | * * * 34 | 35 | Contribution 36 | ------------ 37 | 38 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 39 | 40 | If you will spot any issues please add them in the **Issues** section. 41 | 42 | Credits 43 | ------- 44 | 45 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 46 | 47 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 48 | 49 | License 50 | ------- 51 | 52 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 53 | 54 | © 2020 Flairs Sp. z o.o. 55 | 56 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 57 | 58 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 59 | 60 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 61 | 62 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Data Formats.md: -------------------------------------------------------------------------------- 1 | Data Formats 2 | ============ 3 | 4 | * [ ] JSON 5 | * [ ] Yaml 6 | * [ ] CSV 7 | * [ ] uuid 8 | 9 | * * * 10 | 11 | Contribution 12 | ------------ 13 | 14 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 15 | 16 | If you will spot any issues please add them in the **Issues** section. 17 | 18 | Credits 19 | ------- 20 | 21 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 22 | 23 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 24 | 25 | License 26 | ------- 27 | 28 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 29 | 30 | © 2020 Flairs Sp. z o.o. 31 | 32 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 33 | 34 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 35 | 36 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 37 | 38 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Databases.md: -------------------------------------------------------------------------------- 1 | Databases 2 | ========= 3 | 4 | [SQL](/Technical%20Stack/Backend%20Developer/Databases.md#sql) 5 | -------------------------------------------------------------- 6 | 7 | ### [PostgreSQL](/Technical%20Stack/Backend%20Developer/Databases.md#postgre-sql) 8 | 9 | * [ ] You know how to create foreign keys 10 | * [ ] You know data types, including JSON 11 | * [ ] You know how to query data using JSON path 12 | 13 | [NoSQL](/Technical%20Stack/Backend%20Developer/Databases.md#no-sql) 14 | ------------------------------------------------------------------- 15 | 16 | ### [Firebase Firestore](/Technical%20Stack/Backend%20Developer/Databases.md#firebase-firestore) 17 | 18 | * [ ] You know how to connect and create a collection 19 | * [ ] You can listen for changes using live data updates 20 | 21 | ### [Redis](/Technical%20Stack/Backend%20Developer/Databases.md#redis) 22 | 23 | * [ ] You know what data types are supported 24 | 25 | ### [ElasticSearch](/Technical%20Stack/Backend%20Developer/Databases.md#elastic-search) 26 | 27 | * [ ] You are able to define an index 28 | * [ ] You are able to query index 29 | * [ ] You know how to update an index 30 | 31 | ### [AWS DynamoDB](/Technical%20Stack/Backend%20Developer/Databases.md#aws-dynamo-db) 32 | 33 | * [ ] You know how to read from and write to a DynamoDB table 34 | * [ ] You know how to scan the table to search for an item and understand the performance cost of this operation 35 | * [ ] You know how to create a Global Secondary Index 36 | 37 | ### [MongoDB](/Technical%20Stack/Backend%20Developer/Databases.md#mongo-db) 38 | 39 | * [ ] You know how to structure documents 40 | 41 | * * * 42 | 43 | Contribution 44 | ------------ 45 | 46 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 47 | 48 | If you will spot any issues please add them in the **Issues** section. 49 | 50 | Credits 51 | ------- 52 | 53 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 54 | 55 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 56 | 57 | License 58 | ------- 59 | 60 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 61 | 62 | © 2020 Flairs Sp. z o.o. 63 | 64 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 65 | 66 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 67 | 68 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 69 | 70 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Date & Time.md: -------------------------------------------------------------------------------- 1 | Date & Time 2 | =========== 3 | 4 | [Python](/Technical%20Stack/Backend%20Developer/Date%20&%20Time.md#python) 5 | -------------------------------------------------------------------------- 6 | 7 | ### [python-dateutil](/Technical%20Stack/Backend%20Developer/Date%20&%20Time.md#python-dateutil) 8 | 9 | * [ ] You are able to create relative datetime objects 10 | 11 | ### [pytz](/Technical%20Stack/Backend%20Developer/Date%20&%20Time.md#pytz) 12 | 13 | * [ ] You can convert timezones of datetime objects 14 | 15 | * * * 16 | 17 | Contribution 18 | ------------ 19 | 20 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 21 | 22 | If you will spot any issues please add them in the **Issues** section. 23 | 24 | Credits 25 | ------- 26 | 27 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 28 | 29 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 30 | 31 | License 32 | ------- 33 | 34 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 35 | 36 | © 2020 Flairs Sp. z o.o. 37 | 38 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 39 | 40 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 41 | 42 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 43 | 44 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Development Tools.md: -------------------------------------------------------------------------------- 1 | Development Tools 2 | ================= 3 | 4 | [CLI](/Technical%20Stack/Backend%20Developer/Development%20Tools.md#cli) 5 | ------------------------------------------------------------------------ 6 | 7 | * [ ] kube-shell 8 | * [ ] mycli 9 | * [ ] pgcli 10 | * [ ] iredis 11 | * [ ] litecli 12 | * [ ] saws 13 | * [ ] k9s 14 | * [ ] You used one of 15 | 16 | ### [httpie](/Technical%20Stack/Backend%20Developer/Development%20Tools.md#httpie) 17 | 18 | * [ ] You can create requests with JSON payload 19 | 20 | [Build Tools](/Technical%20Stack/Backend%20Developer/Development%20Tools.md#build-tools) 21 | ---------------------------------------------------------------------------------------- 22 | 23 | * [ ] PlatformIO 24 | * [ ] Makefile 25 | * [ ] You used one of the tools in a project 26 | 27 | ### [pybuilder](/Technical%20Stack/Backend%20Developer/Development%20Tools.md#pybuilder) 28 | 29 | * [ ] SCons 30 | 31 | * * * 32 | 33 | Contribution 34 | ------------ 35 | 36 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 37 | 38 | If you will spot any issues please add them in the **Issues** section. 39 | 40 | Credits 41 | ------- 42 | 43 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 44 | 45 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 46 | 47 | License 48 | ------- 49 | 50 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 51 | 52 | © 2020 Flairs Sp. z o.o. 53 | 54 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 55 | 56 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 57 | 58 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 59 | 60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Documenting.md: -------------------------------------------------------------------------------- 1 | Documenting 2 | =========== 3 | 4 | [Swagger](/Technical%20Stack/Backend%20Developer/Documenting.md#swagger) 5 | ------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to annotate endpoints to describe it 8 | 9 | ### [drf-yasg](/Technical%20Stack/Backend%20Developer/Documenting.md#drf-yasg) 10 | 11 | * [ ] You know how to configure the view 12 | 13 | [Redoc](/Technical%20Stack/Backend%20Developer/Documenting.md#redoc) 14 | -------------------------------------------------------------------- 15 | 16 | * [ ] You know how to initialize it 17 | 18 | * * * 19 | 20 | Contribution 21 | ------------ 22 | 23 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 24 | 25 | If you will spot any issues please add them in the **Issues** section. 26 | 27 | Credits 28 | ------- 29 | 30 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 31 | 32 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 33 | 34 | License 35 | ------- 36 | 37 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 38 | 39 | © 2020 Flairs Sp. z o.o. 40 | 41 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 42 | 43 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 46 | 47 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Javascript.md: -------------------------------------------------------------------------------- 1 | Javascript 2 | ========== 3 | 4 | [NodeJS](/Technical%20Stack/Backend%20Developer/Javascript.md#node-js) 5 | ---------------------------------------------------------------------- 6 | 7 | ### [express](/Technical%20Stack/Backend%20Developer/Javascript.md#express) 8 | 9 | * [ ] You know how to create a json response 10 | * [ ] You know how to add a middleware 11 | * [ ] You know how to fetch/persist data in DB 12 | 13 | ### [mongoose](/Technical%20Stack/Backend%20Developer/Javascript.md#mongoose) 14 | 15 | * [ ] You know how to create Model using Schema 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Backend Developer/Testing.md: -------------------------------------------------------------------------------- 1 | Testing 2 | ======= 3 | 4 | [Python](/Technical%20Stack/Backend%20Developer/Testing.md#python) 5 | ------------------------------------------------------------------ 6 | 7 | ### [pytest](/Technical%20Stack/Backend%20Developer/Testing.md#pytest) 8 | 9 | * [ ] Can setup a test case with multiple paths using fixtures 10 | * [ ] You are able to define custom fixtures 11 | * [ ] You know how to add plugins 12 | * [ ] You know fixture scopes 13 | 14 | ### [factory_boy](/Technical%20Stack/Backend%20Developer/Testing.md#factory_boy) 15 | 16 | * [ ] You know how to create a factory 17 | * [ ] You know how to use traits 18 | * [ ] You know how to create related factories 19 | 20 | ### [faker](/Technical%20Stack/Backend%20Developer/Testing.md#faker) 21 | 22 | * [ ] You know how to generate faked values using built-in providers 23 | 24 | ### [freezegun](/Technical%20Stack/Backend%20Developer/Testing.md#freezegun) 25 | 26 | * [ ] You know how to prepare test case with mocked datetime 27 | 28 | [Node.js](/Technical%20Stack/Backend%20Developer/Testing.md#node.js) 29 | -------------------------------------------------------------------- 30 | 31 | ### [Jest](/Technical%20Stack/Backend%20Developer/Testing.md#jest) 32 | 33 | * [ ] You know how to configure a test env 34 | * [ ] You can describe a test using assertions 35 | 36 | [Performance Testing](/Technical%20Stack/Backend%20Developer/Testing.md#performance-testing) 37 | -------------------------------------------------------------------------------------------- 38 | 39 | ### [Artillery.io](/Technical%20Stack/Backend%20Developer/Testing.md#artillery.io) 40 | 41 | * [ ] You can create scenarios 42 | * [ ] You know how to generate fake data 43 | * [ ] You know how to pass variables between phases 44 | 45 | * * * 46 | 47 | Contribution 48 | ------------ 49 | 50 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 51 | 52 | If you will spot any issues please add them in the **Issues** section. 53 | 54 | Credits 55 | ------- 56 | 57 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 58 | 59 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 60 | 61 | License 62 | ------- 63 | 64 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 65 | 66 | © 2020 Flairs Sp. z o.o. 67 | 68 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 69 | 70 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 71 | 72 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 73 | 74 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer.md: -------------------------------------------------------------------------------- 1 | DevOps Developer 2 | ---------------- 3 | 4 | ### Browse by technical topic 5 | 6 | * [Company best practices](/Technical%20Stack/DevOps%20Developer/Company%20best%20practices.md) 7 | * [DNS](/Technical%20Stack/DevOps%20Developer/DNS.md) 8 | * [Databases](/Technical%20Stack/DevOps%20Developer/Databases.md) 9 | * [Containerization Services](/Technical%20Stack/DevOps%20Developer/Containerization%20Services.md) 10 | * [Application Servers](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md) 11 | * [Task Queues](/Technical%20Stack/DevOps%20Developer/Task%20Queues.md) 12 | * [Message Brokers](/Technical%20Stack/DevOps%20Developer/Message%20Brokers.md) 13 | * [Generic AWS Services](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md) 14 | * [Storage](/Technical%20Stack/DevOps%20Developer/Storage.md) 15 | * [Continuous Integration](/Technical%20Stack/DevOps%20Developer/Continuous%20Integration.md) 16 | * [CDN](/Technical%20Stack/DevOps%20Developer/CDN.md) 17 | * [Docker Registry](/Technical%20Stack/DevOps%20Developer/Docker%20Registry.md) 18 | * [VPS Services](/Technical%20Stack/DevOps%20Developer/VPS%20Services.md) 19 | * [Monitoring](/Technical%20Stack/DevOps%20Developer/Monitoring.md) 20 | * [Infrastructure as Code](/Technical%20Stack/DevOps%20Developer/IaC.md) 21 | 22 | * * * 23 | 24 | Contribution 25 | ------------ 26 | 27 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 28 | 29 | If you will spot any issues please add them in the **Issues** section. 30 | 31 | Credits 32 | ------- 33 | 34 | This page is maintained by [Apptension](https://apptension.com) team. 35 | 36 | You can see more of our work here: [Apptension Portfolio](https://www.apptension.com/portfolio) 37 | 38 | License 39 | ------- 40 | 41 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 42 | 43 | © 2023 Apptension Sp. z o.o. 44 | 45 | Built and maintained by [Apptension](https://apptension.com). 46 | 47 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 48 | 49 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 50 | 51 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 52 | -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Application Servers.md: -------------------------------------------------------------------------------- 1 | Application Servers 2 | =================== 3 | 4 | [Nginx](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md#nginx) 5 | ----------------------------------------------------------------------------- 6 | 7 | * [ ] You know configuration file syntax 8 | * [ ] You know how to serve static files 9 | * [ ] You know how to define a proxy pass to API server 10 | 11 | [WSGI](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md#wsgi) 12 | --------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to deploy a wsgi app (django, flask) with one of the application servers 15 | * [ ] You know wsgi configuration file syntax 16 | 17 | ### [uWSGI](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md#u-wsgi) 18 | 19 | * [ ] You understand the key concepts of the library 20 | * [ ] You deployed at least one project using this implementation 21 | 22 | ### [Gunicorn](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md#gunicorn) 23 | 24 | * [ ] You understand the key concepts of the library 25 | * [ ] You deployed at least one project using this implementation 26 | 27 | ### [bjoern](/Technical%20Stack/DevOps%20Developer/Application%20Servers.md#bjoern) 28 | 29 | * [ ] You understand the key concepts of the library 30 | * [ ] You deployed at least one project using this implementation 31 | 32 | * * * 33 | 34 | Contribution 35 | ------------ 36 | 37 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 38 | 39 | If you will spot any issues please add them in the **Issues** section. 40 | 41 | Credits 42 | ------- 43 | 44 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 45 | 46 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 47 | 48 | License 49 | ------- 50 | 51 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 52 | 53 | © 2020 Flairs Sp. z o.o. 54 | 55 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 56 | 57 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 58 | 59 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 60 | 61 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/CDN.md: -------------------------------------------------------------------------------- 1 | CDN 2 | === 3 | 4 | [AWS CloudFront](/Technical%20Stack/DevOps%20Developer/CDN.md#aws-cloud-front) 5 | ------------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to create a CloudFront distribution 8 | * [ ] You know how to add a behaviour pointing to an S3 website bucket 9 | 10 | [Netlify](/Technical%20Stack/DevOps%20Developer/CDN.md#netlify) 11 | --------------------------------------------------------------- 12 | 13 | * [ ] You know how to create an app 14 | * [ ] You know how to create a custom domain for an app 15 | * [ ] You know how to define environmental variables available during build step 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Containerization Services.md: -------------------------------------------------------------------------------- 1 | Containerization Services 2 | ========================= 3 | 4 | [AWS ECS](/Technical%20Stack/DevOps%20Developer/Containerization%20Services.md#aws-ecs) 5 | --------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to create a task definition 8 | * [ ] You know how to execute a one off task that is killed after execution and doesn't get restarted 9 | * [ ] You know how to define a service 10 | * [ ] You know how to create a target group pointing to your ECS service and add it to an Application Load Balancer listener 11 | 12 | [Kubernetes](/Technical%20Stack/DevOps%20Developer/Containerization%20Services.md#kubernetes) 13 | --------------------------------------------------------------------------------------------- 14 | 15 | * [ ] You know how to define a deployment entity 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Continuous Integration.md: -------------------------------------------------------------------------------- 1 | Continuous Integration 2 | ====================== 3 | 4 | [Bitbucket Pipelines](/Technical%20Stack/DevOps%20Developer/Continuous%20Integration.md#bitbucket-pipelines) 5 | ------------------------------------------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to turn Bitbucket pipelines on in a repository 8 | * [ ] You know how to run a pipeline execution after a commit or a tag push 9 | * [ ] You know how to define environmental variables that will be available to a build script 10 | 11 | [Github Actions](/Technical%20Stack/DevOps%20Developer/Continuous%20Integration.md#github-actions) 12 | -------------------------------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to define a workflow 15 | * [ ] You know how to run a workflow execution after a commit or a tag push 16 | * [ ] You know how to define environmental variables that will be available to a build script 17 | 18 | [AWS CodePipeline](/Technical%20Stack/DevOps%20Developer/Continuous%20Integration.md#aws-code-pipeline) 19 | ------------------------------------------------------------------------------------------------------- 20 | 21 | * [ ] You know how to create a CodePipeline 22 | * [ ] You know how to define a build step using CodeBuild 23 | * [ ] You know how to connect CodePipeline to an S3 source so the execution starts when a file changes 24 | * [ ] You know how to connect CodePipeline to a CodeCommit repository so the execution starts when branch or tag has been pushed 25 | * [ ] You know how to connect CodePipeline to a custom repository (Github, Bitbucket) so the execution starts when branch or tag has been pushed 26 | * [ ] You know how to define environmental variables that will be available to a build script 27 | * [ ] You know how to assign a custom IAM role to the build executor so it can access AWS resources 28 | * [ ] You know how to run a lambda function as a build step 29 | 30 | * * * 31 | 32 | Contribution 33 | ------------ 34 | 35 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 36 | 37 | If you will spot any issues please add them in the **Issues** section. 38 | 39 | Credits 40 | ------- 41 | 42 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 43 | 44 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 45 | 46 | License 47 | ------- 48 | 49 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 50 | 51 | © 2020 Flairs Sp. z o.o. 52 | 53 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 54 | 55 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 56 | 57 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 58 | 59 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/DNS.md: -------------------------------------------------------------------------------- 1 | DNS 2 | === 3 | 4 | * [ ] You know what a CNAME record is and when to use it 5 | * [ ] You know what an A and AAAA records are and when to use them 6 | * [ ] You know what TXT records is and when to use it 7 | * [ ] You know how to register a new domain with a chosen DNR 8 | * [ ] You know how to switch NS from default ones set by DNR to another provider 9 | * [ ] You know what a MX record is and when to use it 10 | 11 | [DNS Services](/Technical%20Stack/DevOps%20Developer/DNS.md#dns-services) 12 | ------------------------------------------------------------------------- 13 | 14 | ### [Route 53](/Technical%20Stack/DevOps%20Developer/DNS.md#route-53) 15 | 16 | * [ ] You know how to define a new hosted zone 17 | * [ ] You can create DNS records using AWS CLI 18 | 19 | ### [Cloudflare](/Technical%20Stack/DevOps%20Developer/DNS.md#cloudflare) 20 | 21 | * [ ] You know how to define a new DNS zone 22 | * [ ] You can create DNS records using Cloudflare API 23 | 24 | * * * 25 | 26 | Contribution 27 | ------------ 28 | 29 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 30 | 31 | If you will spot any issues please add them in the **Issues** section. 32 | 33 | Credits 34 | ------- 35 | 36 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 37 | 38 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 39 | 40 | License 41 | ------- 42 | 43 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 44 | 45 | © 2020 Flairs Sp. z o.o. 46 | 47 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 48 | 49 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 50 | 51 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 52 | 53 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Databases.md: -------------------------------------------------------------------------------- 1 | Databases 2 | ========= 3 | 4 | [SQL](/Technical%20Stack/DevOps%20Developer/Databases.md#sql) 5 | ------------------------------------------------------------- 6 | 7 | ### [AWS RDS](/Technical%20Stack/DevOps%20Developer/Databases.md#aws-rds) 8 | 9 | * [ ] You know how to instantiate a PostgreSQL database 10 | * [ ] You know how to instantiate a MySQL database 11 | * [ ] You know how to instantiate an AWS Aurora instance with chosen DB flavour 12 | 13 | [NoSQL](/Technical%20Stack/DevOps%20Developer/Databases.md#no-sql) 14 | ------------------------------------------------------------------ 15 | 16 | ### [Redis](/Technical%20Stack/DevOps%20Developer/Databases.md#redis) 17 | 18 | #### [AWS ElastiCache](/Technical%20Stack/DevOps%20Developer/Databases.md#aws-elasti-cache) 19 | 20 | * [ ] You know how to create a Redis instance 21 | * [ ] You know how to connect to Redis instance from the application code 22 | 23 | ### [ElasticSearch](/Technical%20Stack/DevOps%20Developer/Databases.md#elastic-search) 24 | 25 | #### [AWS Elasticsearch Service](/Technical%20Stack/DevOps%20Developer/Databases.md#aws-elasticsearch-service) 26 | 27 | * [ ] You know how to create an ElasticSearch instance 28 | * [ ] You know how to connect to ElasticSearch from the application code 29 | 30 | ### [AWS DynamoDB](/Technical%20Stack/DevOps%20Developer/Databases.md#aws-dynamo-db) 31 | 32 | * [ ] You know how to manage dynamodb read/write throughput 33 | * [ ] You know how to configure pay per use model 34 | 35 | * * * 36 | 37 | Contribution 38 | ------------ 39 | 40 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 41 | 42 | If you will spot any issues please add them in the **Issues** section. 43 | 44 | Credits 45 | ------- 46 | 47 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 48 | 49 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 50 | 51 | License 52 | ------- 53 | 54 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 55 | 56 | © 2020 Flairs Sp. z o.o. 57 | 58 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 59 | 60 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 61 | 62 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 63 | 64 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Docker Registry.md: -------------------------------------------------------------------------------- 1 | Docker Registry 2 | =============== 3 | 4 | [AWS ECR](/Technical%20Stack/DevOps%20Developer/Docker%20Registry.md#aws-ecr) 5 | ----------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to create a registry 8 | * [ ] You know how to upload a Docker image to a registry 9 | * [ ] You know how to define an IAM policy of a registry to allow pull/push to a specific user or role 10 | * [ ] You know how to log into the ECR registry using aws-cli 11 | 12 | * * * 13 | 14 | Contribution 15 | ------------ 16 | 17 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 18 | 19 | If you will spot any issues please add them in the **Issues** section. 20 | 21 | Credits 22 | ------- 23 | 24 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 25 | 26 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 27 | 28 | License 29 | ------- 30 | 31 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 32 | 33 | © 2020 Flairs Sp. z o.o. 34 | 35 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 36 | 37 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 38 | 39 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 40 | 41 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Generic AWS Services.md: -------------------------------------------------------------------------------- 1 | Generic AWS Services 2 | ==================== 3 | 4 | [VPC](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#vpc) 5 | ---------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to create a VPC 8 | * [ ] You understand the concept of Subnets and know how to create one 9 | * [ ] You understand the concept of Security Groups, know how to create one and how to define its rules 10 | * [ ] You know what a NAT Gateway is (and how much it costs) 11 | * [ ] You know what a VPC Endpoint is and how to define it 12 | * [ ] You know how to create a NAT Gateway 13 | 14 | [EC2](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#ec2) 15 | ---------------------------------------------------------------------------- 16 | 17 | * [ ] You know how to create an EC2 instance 18 | * [ ] You know how to SSH into an EC2 instance using generated key pair 19 | * [ ] You know how to create an Application Load Balancer 20 | * [ ] You know how to attach a Security Group to an instance 21 | 22 | [IAM](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#iam) 23 | ---------------------------------------------------------------------------- 24 | 25 | * [ ] You know how to create a new user 26 | * [ ] You know how to create a new role 27 | * [ ] You know how to create a policy documents and attach them to various IAM resources 28 | * [ ] You know how to configure a "switch role" method so the user from one account can log into another role from another account 29 | 30 | [KMS](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#kms) 31 | ---------------------------------------------------------------------------- 32 | 33 | * [ ] You know how to create a KMS key and assign alias to it 34 | 35 | [SSM](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#ssm) 36 | ---------------------------------------------------------------------------- 37 | 38 | * [ ] You know how to create an SSM parameter and encrypt it with a KMS key 39 | * [ ] You know how to use SSM parameter in Lambda function 40 | 41 | [AWS Client libraries](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#aws-client-libraries) 42 | -------------------------------------------------------------------------------------------------------------- 43 | 44 | ### [aws-cli](/Technical%20Stack/DevOps%20Developer/Generic%20AWS%20Services.md#aws-cli) 45 | 46 | * [ ] You know how to create a local profile using acquired key id and secret to access AWS resources 47 | 48 | * * * 49 | 50 | Contribution 51 | ------------ 52 | 53 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 54 | 55 | If you will spot any issues please add them in the **Issues** section. 56 | 57 | Credits 58 | ------- 59 | 60 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 61 | 62 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 63 | 64 | License 65 | ------- 66 | 67 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 68 | 69 | © 2020 Flairs Sp. z o.o. 70 | 71 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 72 | 73 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 74 | 75 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 76 | 77 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/IaC.md: -------------------------------------------------------------------------------- 1 | Infrastructure as Code 2 | ============= 3 | 4 | You should know how to employ at least one of the infrastructure as code software tools mentioned on this page. 5 | 6 | ### [CDK](/Technical%20Stack/Backend%20Developer/Code%20IaC.md#cdk) 7 | -------------------------------------------------------------------------------- 8 | 9 | * [ ] You know how to create applications based on AWS CDK [:books:](https://docs.aws.amazon.com/cdk/v2/guide/home.html/) 10 | 11 | ### [Terraform](/Technical%20Stack/Backend%20Developer/Code%20IaC.md#terraform) 12 | -------------------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to create applications based on Terraform [:books:](https://developer.hashicorp.com/terraform/docs/) 15 | -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Message Brokers.md: -------------------------------------------------------------------------------- 1 | Message Brokers 2 | =============== 3 | 4 | [RabbitMQ](/Technical%20Stack/DevOps%20Developer/Message%20Brokers.md#rabbit-mq) 5 | -------------------------------------------------------------------------------- 6 | 7 | * [ ] You understand what a virtual host is and how to create one 8 | * [ ] You can deploy RabbitMQ to AWS platform 9 | * [ ] You understand what a Routing Key is 10 | * [ ] You understand what an Exchange is and you can describe common types of exchanges (direct, topic, fanout) 11 | * [ ] You understand what a Channel is and how is it used in message flow 12 | 13 | [AWS SQS](/Technical%20Stack/DevOps%20Developer/Message%20Brokers.md#aws-sqs) 14 | ----------------------------------------------------------------------------- 15 | 16 | * [ ] You know how to create an SQS queue 17 | * [ ] You can attach Lambda function trigger to a queue 18 | * [ ] You know how to use the concept of dead letter queues to repair broken messages 19 | 20 | [AWS EventBridge](/Technical%20Stack/DevOps%20Developer/Message%20Brokers.md#aws-event-bridge) 21 | ---------------------------------------------------------------------------------------------- 22 | 23 | * [ ] You can create an EventBus 24 | * [ ] You can send custom events to an EventBus 25 | * [ ] You know how to trigger a Lambda function from an EventBus for a specific event source 26 | 27 | [AWS Kinesis](/Technical%20Stack/DevOps%20Developer/Message%20Brokers.md#aws-kinesis) 28 | ------------------------------------------------------------------------------------- 29 | 30 | * [ ] You know what a Kinesis Stream is and can name some use cases 31 | * [ ] You know what a shard is in Kinesis Stream context 32 | * [ ] You know how to trigger a Lambda function from a Kinesis Stream 33 | 34 | * * * 35 | 36 | Contribution 37 | ------------ 38 | 39 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 40 | 41 | If you will spot any issues please add them in the **Issues** section. 42 | 43 | Credits 44 | ------- 45 | 46 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 47 | 48 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 49 | 50 | License 51 | ------- 52 | 53 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 54 | 55 | © 2020 Flairs Sp. z o.o. 56 | 57 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 58 | 59 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 60 | 61 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 62 | 63 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Monitoring.md: -------------------------------------------------------------------------------- 1 | Monitoring 2 | ========== 3 | 4 | * [ ] Work in progress 5 | 6 | [Sentry](/Technical%20Stack/DevOps%20Developer/Monitoring.md#sentry) 7 | -------------------------------------------------------------------- 8 | 9 | * [ ] sentry-sdk 10 | 11 | [Logging](/Technical%20Stack/DevOps%20Developer/Monitoring.md#logging) 12 | ---------------------------------------------------------------------- 13 | 14 | * [ ] django-fsm-log 15 | 16 | * * * 17 | 18 | Contribution 19 | ------------ 20 | 21 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 22 | 23 | If you will spot any issues please add them in the **Issues** section. 24 | 25 | Credits 26 | ------- 27 | 28 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 29 | 30 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 31 | 32 | License 33 | ------- 34 | 35 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 36 | 37 | © 2020 Flairs Sp. z o.o. 38 | 39 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 40 | 41 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 42 | 43 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Storage.md: -------------------------------------------------------------------------------- 1 | Storage 2 | ======= 3 | 4 | [AWS S3](/Technical%20Stack/DevOps%20Developer/Storage.md#aws-s3) 5 | ----------------------------------------------------------------- 6 | 7 | * [ ] You know how to create an S3 bucket 8 | * [ ] You know how to make a S3 bucket public 9 | * [ ] You know how to host a Single Page Application in S3 10 | 11 | * * * 12 | 13 | Contribution 14 | ------------ 15 | 16 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 17 | 18 | If you will spot any issues please add them in the **Issues** section. 19 | 20 | Credits 21 | ------- 22 | 23 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 24 | 25 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 26 | 27 | License 28 | ------- 29 | 30 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 31 | 32 | © 2020 Flairs Sp. z o.o. 33 | 34 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 35 | 36 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 37 | 38 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 39 | 40 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/Task Queues.md: -------------------------------------------------------------------------------- 1 | Task Queues 2 | =========== 3 | 4 | [Celery](/Technical%20Stack/DevOps%20Developer/Task%20Queues.md#celery) 5 | ----------------------------------------------------------------------- 6 | 7 | * [ ] You can choose one of the message brokers and configure Celery to use it 8 | * [ ] You can deploy Celery workers to at least one platform of your choice 9 | 10 | * * * 11 | 12 | Contribution 13 | ------------ 14 | 15 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 16 | 17 | If you will spot any issues please add them in the **Issues** section. 18 | 19 | Credits 20 | ------- 21 | 22 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 23 | 24 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 25 | 26 | License 27 | ------- 28 | 29 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 30 | 31 | © 2020 Flairs Sp. z o.o. 32 | 33 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 34 | 35 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 36 | 37 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 38 | 39 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/DevOps Developer/VPS Services.md: -------------------------------------------------------------------------------- 1 | VPS Services 2 | ============ 3 | 4 | [DigitalOcean](/Technical%20Stack/DevOps%20Developer/VPS%20Services.md#digital-ocean) 5 | ------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to create a droplet in chosen region 8 | 9 | [AWS EC2](/Technical%20Stack/DevOps%20Developer/VPS%20Services.md#aws-ec2) 10 | -------------------------------------------------------------------------- 11 | 12 | * [ ] You know how to create an instance in a chosen region 13 | 14 | * * * 15 | 16 | Contribution 17 | ------------ 18 | 19 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 20 | 21 | If you will spot any issues please add them in the **Issues** section. 22 | 23 | Credits 24 | ------- 25 | 26 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 27 | 28 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 29 | 30 | License 31 | ------- 32 | 33 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 34 | 35 | © 2020 Flairs Sp. z o.o. 36 | 37 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 38 | 39 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 40 | 41 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 42 | 43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer.md: -------------------------------------------------------------------------------- 1 | Frontend Developer 2 | ------------------ 3 | 4 | 5 | 6 | ### Browse by technical topic 7 | 8 | * [Company practices](/Technical%20Stack/Frontend%20Developer/Company%20practices.md) 9 | * [React](/Technical%20Stack/Frontend%20Developer/React.md) 10 | * [Application state management](/Technical%20Stack/Frontend%20Developer/Application%20state%20management.md) 11 | * [Apptension React Boilerplate](/Technical%20Stack/Frontend%20Developer/Apptension%20React%20Boilerplate.md) 12 | * [Styling](/Technical%20Stack/Frontend%20Developer/Styling.md) 13 | * [Date & Time](/Technical%20Stack/Frontend%20Developer/Date%20&%20Time.md) 14 | * [Routing](/Technical%20Stack/Frontend%20Developer/Routing.md) 15 | * [Visualizations](/Technical%20Stack/Frontend%20Developer/Visualizations.md) 16 | * [Animations](/Technical%20Stack/Frontend%20Developer/Animations.md) 17 | * [Internationalization](/Technical%20Stack/Frontend%20Developer/Internationalization.md) 18 | * [Audio and Video](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md) 19 | * [Languages](/Technical%20Stack/Frontend%20Developer/Languages.md) 20 | * [Misc](/Technical%20Stack/Frontend%20Developer/Misc.md) 21 | * [Development Tools](/Technical%20Stack/Frontend%20Developer/Development%20Tools.md) 22 | * [SSR & Prerendering](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md) 23 | * [Functional programming](/Technical%20Stack/Frontend%20Developer/Functional%20programming.md) 24 | * [HTTP](/Technical%20Stack/Frontend%20Developer/HTTP.md) 25 | * [Templating engines](/Technical%20Stack/Frontend%20Developer/Templating%20engines.md) 26 | * [Fonts](/Technical%20Stack/Frontend%20Developer/Fonts.md) 27 | * [SEO](/Technical%20Stack/Frontend%20Developer/SEO.md) 28 | * [Monitoring](/Technical%20Stack/Frontend%20Developer/Monitoring.md) 29 | * [Forms](/Technical%20Stack/Frontend%20Developer/Forms.md) 30 | * [Testing](/Technical%20Stack/Frontend%20Developer/Testing.md) 31 | * [Performance](/Technical%20Stack/Frontend%20Developer/Performance.md) 32 | * [Common Application Modules](/Technical%20Stack/Frontend%20Developer/Common%20Application%20Modules.md) 33 | * [Backend & DevOps](/Technical%20Stack/Frontend%20Developer/Backend%20&%20DevOps.md) 34 | * [Tools](/Technical%20Stack/Frontend%20Developer/Tools.md) 35 | * [Browsers](/Technical%20Stack/Frontend%20Developer/Browsers.md) 36 | 37 | * * * 38 | 39 | Contribution 40 | ------------ 41 | 42 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 43 | 44 | If you will spot any issues please add them in the **Issues** section. 45 | 46 | Credits 47 | ------- 48 | 49 | This page is maintained by [Apptension](https://apptension.com) team. 50 | 51 | You can see more of our work here: [Apptension portfolio](https://www.apptension.com/portfolio). 52 | 53 | License 54 | ------- 55 | 56 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 57 | 58 | © 2023 Apptension Sp. z o.o. 59 | 60 | Built and maintained by [Apptension](https://apptension.com). 61 | 62 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 63 | 64 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 65 | 66 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 67 | -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Apptension React Boilerplate.md: -------------------------------------------------------------------------------- 1 | Apptension React Boilerplate 2 | ============================ 3 | 4 | * [ ] You know how to initialize a project using Apptension React template of create-react-app generator 5 | * [ ] You know how to run a linter 6 | * [ ] You know how to define a new Redux module (Reducer, Saga, Selector) 7 | * [ ] You know how to create a new route and its component 8 | * [ ] You understand the difference between src/routes and src/shared/components directories 9 | * [ ] You can use plop to generate modules and components 10 | * [ ] You know where translation files are stored 11 | * [ ] You know how to add a new locale to the app 12 | * [ ] You know how to extract translations using extract-intl script 13 | 14 | * * * 15 | 16 | Contribution 17 | ------------ 18 | 19 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 20 | 21 | If you will spot any issues please add them in the **Issues** section. 22 | 23 | Credits 24 | ------- 25 | 26 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 27 | 28 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 29 | 30 | License 31 | ------- 32 | 33 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 34 | 35 | © 2020 Flairs Sp. z o.o. 36 | 37 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 38 | 39 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 40 | 41 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 42 | 43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Audio and Video.md: -------------------------------------------------------------------------------- 1 | Audio and Video 2 | =============== 3 | 4 | * [ ] You know how to use standard HTML Audio and Video tags 5 | * [ ] You know which formats and codecs should be used to support all modern browsers 6 | 7 | [Players](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#players) 8 | --------------------------------------------------------------------------------- 9 | 10 | * [ ] You have used at least one video player libraries 11 | 12 | ### [react-player](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#react-player) 13 | 14 | * [ ] You know how to style the player 15 | 16 | ### [jwplayer](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#jwplayer) 17 | 18 | * [ ] You know how to implement the player in a React environment 19 | * [ ] You know how to style the player 20 | * [ ] You know how to configure the player to allow multiple quality levels 21 | 22 | [Streaming](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#streaming) 23 | ------------------------------------------------------------------------------------- 24 | 25 | ### [HLS](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#hls) 26 | 27 | * [ ] You understand what HLS is, and are able to use it with a chosen player 28 | 29 | ### [MPEG Dash](/Technical%20Stack/Frontend%20Developer/Audio%20and%20Video.md#mpeg-dash) 30 | 31 | * [ ] You understand what MPEG Dash is, and are able to use it with a chosen player 32 | 33 | * * * 34 | 35 | Contribution 36 | ------------ 37 | 38 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 39 | 40 | If you will spot any issues please add them in the **Issues** section. 41 | 42 | Credits 43 | ------- 44 | 45 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 46 | 47 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 48 | 49 | License 50 | ------- 51 | 52 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 53 | 54 | © 2020 Flairs Sp. z o.o. 55 | 56 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 57 | 58 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 59 | 60 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 61 | 62 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Browsers.md: -------------------------------------------------------------------------------- 1 | Browsers 2 | ======== 3 | 4 | * [ ] You know what DOM is [:books:](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction) 5 | * [ ] You know what CSSOM is [:books:](https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model) 6 | 7 | [Pixel pipeline](/Technical%20Stack/Frontend%20Developer/Browsers.md#pixel-pipeline) 8 | ------------------------------------------------------------------------------------ 9 | 10 | [https://developers.google.com/web/fundamentals/performance/rendering](https://developers.google.com/web/fundamentals/performance/rendering) 11 | 12 | * [ ] You know what reflow step is and what it does 13 | * [ ] You know what paint step is and what it does 14 | * [ ] You know what composite step is and what it does 15 | * [ ] You know when some of the pixel pipeline are skipped and you can utilise this knowledge to optimize web page's performance 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Company practices.md: -------------------------------------------------------------------------------- 1 | Company practices 2 | ================= 3 | 4 | [Security](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#security) 5 | ---------------------------------------------------------------------------------------- 6 | 7 | ### [Keeper Security](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#keeper-security) 8 | 9 | * [ ] You know how to share secret values with other employees. [:books:](https://docs.keeper.io/user-guides/) 10 | 11 | ### [aws-vault](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#aws-vault) 12 | 13 | * [ ] You know how to use the command line to switch between users 14 | 15 | ### [Onetimesecret](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#onetimesecret) 16 | 17 | * [ ] You know how to share secret values externally [:books:](https://support.painchek.com/hc/en-us/articles/360038504674-How-to-use-One-Time-Secret) 18 | 19 | [Git](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#git) 20 | ------------------------------------------------------------------------------ 21 | 22 | * [ ] You create pull requests with proper name and description [:books:](https://medium.com/@hugooodias/the-anatomy-of-a-perfect-pull-request-567382bb6067) 23 | * [ ] You squash merge your pull requests [:books:](https://blog.pairworking.com/why-you-should-care-about-squash-and-merge-in-git-675856bf66b0) 24 | * [ ] You understand the pros and cons of git rebase vs git merge [:books:](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) 25 | * [ ] You name your commits properly [:books:](https://chris.beams.io/posts/git-commit/) 26 | * [ ] You review PRs carefully and leave your comments [:books:](https://www.pullrequest.com/blog/what-belongs-in-an-effective-code-review-checklist/) 27 | * [ ] You know how to configure rules in a repository for merging to specific branches (master, develop) 28 | * [ ] You add proper label in pull requests 29 | * [ ] You create your branches under the proper folder (feature, fix, hotfix) 30 | 31 | ### [GitHub](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#git-hub) 32 | 33 | * [ ] You know how to create and reference issues 34 | * [ ] You know how to verify when a build check failed 35 | * [ ] You know how to create GitHub Wiki pages 36 | 37 | ### [Bitbucket](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#bitbucket) 38 | 39 | * [ ] You know how to verify when a build check failed 40 | * [ ] You know how to reference a Jira ticket in your commit 41 | 42 | [Communication](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#communication) 43 | -------------------------------------------------------------------------------------------------- 44 | 45 | ### [Slack](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#slack) 46 | 47 | * [ ] You use Slack statuses in line with company policy (remote working, vacationing, in a meeting, etc) 48 | * [ ] You know how to create groups and channels 49 | 50 | ### [Confluence](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#confluence) 51 | 52 | * [ ] You know how to create Confluence pages 53 | 54 | ### [Small Improvements](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#small-improvements) 55 | 56 | * [ ] You know how to give praise and add talk topics to a 1:1 meeting 57 | * [ ] You know how to create goals and mark them as complete 58 | 59 | ### [Jira](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#jira) 60 | 61 | * [ ] You know how to create tickets and write comments 62 | 63 | ### [Email](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md#email) 64 | 65 | * [ ] You can configure local email client 66 | * [ ] You can configure email signatures 67 | 68 | * * * 69 | 70 | Contribution 71 | ------------ 72 | 73 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 74 | 75 | If you will spot any issues please add them in the **Issues** section. 76 | 77 | Credits 78 | ------- 79 | 80 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 81 | 82 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 83 | 84 | License 85 | ------- 86 | 87 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 88 | 89 | © 2020 Flairs Sp. z o.o. 90 | 91 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 92 | 93 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 94 | 95 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 96 | 97 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Date & Time.md: -------------------------------------------------------------------------------- 1 | Date & Time 2 | =========== 3 | 4 | * [ ] You know how to create a Date object for a specific date [:books:](https://www.digitalocean.com/community/tutorials/understanding-date-and-time-in-javascript) 5 | * [ ] You know how to compare native date objects 6 | * [ ] You know what ISO 8601 standard format is and how to parse it to a date object [:books:](https://www.iso.org/iso-8601-date-and-time-format.html) 7 | * [ ] You know what unix timestamp is and how to parse it to a date object [:books:](https://stackoverflow.com/questions/20822821/what-is-a-unix-timestamp-and-why-use-it) 8 | 9 | [date-fns](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#date-fns) 10 | ----------------------------------------------------------------------------- 11 | 12 | * [ ] You know how to create a date-fns date object for specific date [:books:](https://date-fns.org/v2.0.0-alpha.7/docs/FP-Guide#usage) 13 | * [ ] You know how to format and display a date object using standard format strings [:books:](https://www.digitalocean.com/community/tutorials/js-date-fns) 14 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 15 | * [ ] You know how to manipulate, compare date objects 16 | 17 | [react-datetime](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#react-datetime) 18 | ----------------------------------------------------------------------------------------- 19 | 20 | * [ ] You know how to format and display a date object using standard format strings 21 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 22 | * [ ] You know how to manipulate and compare date objects 23 | 24 | [dayjs](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#dayjs) 25 | ----------------------------------------------------------------------- 26 | 27 | * [ ] You know how to format and display a date object using standard format strings 28 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 29 | * [ ] You know how to manipulate and compare date objects 30 | 31 | * * * 32 | 33 | Contribution 34 | ------------ 35 | 36 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 37 | 38 | If you will spot any issues please add them in the **Issues** section. 39 | 40 | Credits 41 | ------- 42 | 43 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 44 | 45 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 46 | 47 | License 48 | ------- 49 | 50 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 51 | 52 | © 2020 Flairs Sp. z o.o. 53 | 54 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 55 | 56 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 57 | 58 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 59 | 60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 61 | -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Fonts.md: -------------------------------------------------------------------------------- 1 | Fonts 2 | ===== 3 | 4 | * [ ] You know how to load custom webfonts available in Google Fonts [:books:](https://scotch.io/@micwanyoike/how-to-add-fonts-to-a-react-project#toc-using-hosted-fonts) 5 | * [ ] You know how to load custom webfonts provided to you in a file 6 | * [ ] You understand the problem of webfont optimization and can apply best practices to a project [:books:](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/webfont-optimization) 7 | 8 | [fontfaceobserver](/Technical%20Stack/Frontend%20Developer/Fonts.md#fontfaceobserver) 9 | ------------------------------------------------------------------------------------- 10 | 11 | * [ ] You know how to load a font 12 | * [ ] You know how to react to a font that has been loaded or failed to load 13 | 14 | [webfont-loader](/Technical%20Stack/Frontend%20Developer/Fonts.md#webfont-loader) 15 | --------------------------------------------------------------------------------- 16 | 17 | * [ ] You know how to load a font 18 | * [ ] You know how to react to events changes 19 | * [ ] You know how to configure multiple font options 20 | 21 | * * * 22 | 23 | Contribution 24 | ------------ 25 | 26 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 27 | 28 | If you will spot any issues please add them in the **Issues** section. 29 | 30 | Credits 31 | ------- 32 | 33 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 34 | 35 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 36 | 37 | License 38 | ------- 39 | 40 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 41 | 42 | © 2020 Flairs Sp. z o.o. 43 | 44 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 45 | 46 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 47 | 48 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 49 | 50 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Forms.md: -------------------------------------------------------------------------------- 1 | Forms 2 | ===== 3 | 4 | [Validation](/Technical%20Stack/Frontend%20Developer/Forms.md#validation) 5 | ------------------------------------------------------------------------- 6 | 7 | ### [yup](/Technical%20Stack/Frontend%20Developer/Forms.md#yup) 8 | 9 | * [ ] You know how to create schemas with proper types 10 | * [ ] You know how to extend a schema type 11 | * [ ] You know how to add transformations 12 | 13 | [File upload](/Technical%20Stack/Frontend%20Developer/Forms.md#file-upload) 14 | --------------------------------------------------------------------------- 15 | 16 | * [ ] You know how to send a HTTP request to upload a file to backend 17 | 18 | ### [react-dropzone](/Technical%20Stack/Frontend%20Developer/Forms.md#react-dropzone) 19 | 20 | * [ ] You know how to change styles when dragging an element to dropzone area 21 | * [ ] You know how to validate file name, type and size 22 | 23 | [React](/Technical%20Stack/Frontend%20Developer/Forms.md#react) 24 | --------------------------------------------------------------- 25 | 26 | * [ ] You used and fulfill all requirements of at least one library that manages forms in react 27 | 28 | ### [formik](/Technical%20Stack/Frontend%20Developer/Forms.md#formik) 29 | 30 | * [ ] You know how to submit a form 31 | * [ ] You know how inject Formik with Hooks 32 | * [ ] You know how to validate form's data before & after submission 33 | * [ ] You know how to add fields dynamically 34 | * [ ] You know how to render a form with initial data 35 | * [ ] You know how to display errors based on data validation 36 | * [ ] You know how to clear forms data 37 | 38 | ### [react-hook-form](/Technical%20Stack/Frontend%20Developer/Forms.md#react-hook-form) 39 | 40 | * [ ] You know how to inject react-hook-form in the component's lifecycle 41 | * [ ] You know how to register an input 42 | * [ ] You know how to validate form's data before & after submission 43 | * [ ] You know how to pass data to be processed by the backend 44 | * [ ] You know how to add fields dynamically 45 | * [ ] You know how to render a form with data 46 | * [ ] You know how to display errors based on data validation 47 | * [ ] You know how to clear forms data 48 | 49 | ### [redux-form](/Technical%20Stack/Frontend%20Developer/Forms.md#redux-form) 50 | 51 | * [ ] You know how to validate form's data before & after submission 52 | * [ ] You know how to pass data to be processed by the backend 53 | * [ ] You know how to add fields dynamically 54 | * [ ] You know how to render a form with data 55 | * [ ] You know how to display errors based on data validation 56 | * [ ] You know how to clear forms data 57 | 58 | * * * 59 | 60 | Contribution 61 | ------------ 62 | 63 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 64 | 65 | If you will spot any issues please add them in the **Issues** section. 66 | 67 | Credits 68 | ------- 69 | 70 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 71 | 72 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 73 | 74 | License 75 | ------- 76 | 77 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 78 | 79 | © 2020 Flairs Sp. z o.o. 80 | 81 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 82 | 83 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 84 | 85 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 86 | 87 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Functional programming.md: -------------------------------------------------------------------------------- 1 | Functional programming 2 | ====================== 3 | 4 | * [ ] You know the key concepts of functional programming: pure functions, same input -> same output, no side-effects [:books:](https://thecodeboss.dev/2016/12/core-functional-programming-concepts/) 5 | * [ ] You know and use concepts such as immutability, first-class functions, referential transparency and recursion 6 | 7 | [ramda](/Technical%20Stack/Frontend%20Developer/Functional%20programming.md#ramda) 8 | ---------------------------------------------------------------------------------- 9 | 10 | * [ ] You know how to curry a function [:books:](https://www.educative.io/courses/functional-programming-patterns-with-ramdajs/xV9vlmDPJAE) 11 | * [ ] You know how to compose a function from other functions 12 | * [ ] You know how to pipe functions to produce a step by step processing sequence 13 | * [ ] You can use basic functions such as map, mapValues, find, sort, sortBy, concat, equals, cond, ifElse [:books:](https://randycoulman.com/blog/2016/05/24/thinking-in-ramda-getting-started/) 14 | 15 | [lodash](/Technical%20Stack/Frontend%20Developer/Functional%20programming.md#lodash) 16 | ------------------------------------------------------------------------------------ 17 | 18 | * [ ] You use functions as input for other functions 19 | * [ ] You can use arbitrary functions to manipulate arrays and objects 20 | * [ ] You can use debounce and throttle 21 | 22 | * * * 23 | 24 | Contribution 25 | ------------ 26 | 27 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 28 | 29 | If you will spot any issues please add them in the **Issues** section. 30 | 31 | Credits 32 | ------- 33 | 34 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 35 | 36 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 37 | 38 | License 39 | ------- 40 | 41 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 42 | 43 | © 2020 Flairs Sp. z o.o. 44 | 45 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 46 | 47 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 48 | 49 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 50 | 51 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/HTTP.md: -------------------------------------------------------------------------------- 1 | HTTP 2 | ==== 3 | 4 | [Requests](/Technical%20Stack/Mobile%20Developer/HTTP.md#requests) 5 | ------------------------------------------------------------------ 6 | 7 | * [ ] You know what cookies are 8 | * [ ] You know what HTTP headers are 9 | * [ ] You can explain what CORS is and understand its shortcomings 10 | * [ ] You can explain what HTTP only cookie is 11 | * [ ] You know which parts of the HTTPS request is encrypted 12 | * [ ] You know different values for content-type header and understand when to use them 13 | 14 | ### [fetch](/Technical%20Stack/Mobile%20Developer/HTTP.md#fetch) 15 | 16 | * [ ] You know how to create an HTTP request using native fetch [:books:](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) 17 | * [ ] You know how to set HTTP headers in a request 18 | * [ ] You know how to read HTTP headers sent in a response 19 | * [ ] You know how to handle errors returned in HTTP response [:books:](https://levelup.gitconnected.com/the-definite-guide-to-handling-errors-gracefully-in-javascript-58424d9c60e6) 20 | * [ ] You know how to cancel a request 21 | 22 | ### [Axios](/Technical%20Stack/Mobile%20Developer/HTTP.md#axios) 23 | 24 | * [ ] You know how to use axios to send HTTP request to an API endpoint [:books:](https://github.com/apptension/cra-template-apptension/blob/master/template/src/modules/users/users.sagas.ts) 25 | * [ ] You know how to set HTTP headers in a request 26 | * [ ] You know how to handle errors returned in HTTP response [:books:](https://www.intricatecloud.io/2020/03/how-to-handle-api-errors-in-your-web-app-using-axios/) 27 | * [ ] You can configure axios to have a predefined base url for making requests 28 | * [ ] You know how to read HTTP headers sent in a response 29 | * [ ] You know to add meta data (for example JWT token) to the request headers 30 | * [ ] You know how to transform data with transformResponse and transformRequest 31 | * [ ] You know how to serealize parameters with paramsSerializer 32 | * [ ] You know how to use interceptors 33 | * [ ] You know how to cancel a request 34 | 35 | [Websockets](/Technical%20Stack/Mobile%20Developer/HTTP.md#websockets) 36 | ---------------------------------------------------------------------- 37 | 38 | * [ ] You know how to connect to a websocket connection using either a native configuration or an existing library 39 | 40 | ### [pusher-js](/Technical%20Stack/Mobile%20Developer/HTTP.md#pusher-js) 41 | 42 | * [ ] You know how to configure Pusher JS 43 | * [ ] You know how to subscribe/unsubscribe to a channel 44 | * [ ] You know how to bind/unbind to events 45 | 46 | [Tools](/Technical%20Stack/Mobile%20Developer/HTTP.md#tools) 47 | ------------------------------------------------------------ 48 | 49 | ### [humps](/Technical%20Stack/Mobile%20Developer/HTTP.md#humps) 50 | 51 | * [ ] You know how to use humps to camelize or decamelize strings and object's keys 52 | * [ ] You know how to split strings and object's keys containing numerical values 53 | 54 | ### [query-string](/Technical%20Stack/Mobile%20Developer/HTTP.md#query-string) 55 | 56 | * [ ] You know how to parse URLs 57 | * [ ] You know how to create a query string out of an object 58 | 59 | ### [normalizr](/Technical%20Stack/Mobile%20Developer/HTTP.md#normalizr) 60 | 61 | * [ ] You know how to define an object entity schema 62 | * [ ] You know how to normalize data returned from server 63 | * [ ] You can explain what are the benefits of using normalizr library 64 | 65 | ### [http-status-codes](/Technical%20Stack/Mobile%20Developer/HTTP.md#http-status-codes) 66 | 67 | * [ ] You use descriptive status codes instead of number literals 68 | 69 | * * * 70 | 71 | Contribution 72 | ------------ 73 | 74 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 75 | 76 | If you will spot any issues please add them in the **Issues** section. 77 | 78 | Credits 79 | ------- 80 | 81 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 82 | 83 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 84 | 85 | License 86 | ------- 87 | 88 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 89 | 90 | © 2020 Flairs Sp. z o.o. 91 | 92 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 93 | 94 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 95 | 96 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 97 | 98 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Internationalization.md: -------------------------------------------------------------------------------- 1 | Internationalization 2 | ==================== 3 | 4 | [react-Intl](/Technical%20Stack/Mobile%20Developer/Internationalization.md#react-intl) 5 | -------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know and use React-intl components [:books:](https://www.newline.co/@dmitryrogozhny/quick-introduction-to-internationalization-in-react-with-react-intl--13b17de9) 8 | * [ ] You know how to create messages files using defineMessage api [:books:](https://github.com/apptension/cra-template-apptension/blob/master/template/src/routes/home/home.messages.ts) 9 | * [ ] You know how to use useIntl hook 10 | 11 | [format.js](/Technical%20Stack/Mobile%20Developer/Internationalization.md#format.js) 12 | ------------------------------------------------------------------------------------ 13 | 14 | * [ ] You know how to format a message passing values and date-time stamps 15 | * [ ] You know how to pluralize messages based on a passed value 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Languages.md: -------------------------------------------------------------------------------- 1 | Languages 2 | ========= 3 | 4 | [JavaScript](/Technical%20Stack/Frontend%20Developer/Languages.md#java-script) 5 | ------------------------------------------------------------------------------ 6 | 7 | * [ ] You know javascript 8 | 9 | [TypeScript](/Technical%20Stack/Frontend%20Developer/Languages.md#type-script) 10 | ------------------------------------------------------------------------------ 11 | 12 | * [ ] You know typescript 13 | 14 | * * * 15 | 16 | Contribution 17 | ------------ 18 | 19 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 20 | 21 | If you will spot any issues please add them in the **Issues** section. 22 | 23 | Credits 24 | ------- 25 | 26 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 27 | 28 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 29 | 30 | License 31 | ------- 32 | 33 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 34 | 35 | © 2020 Flairs Sp. z o.o. 36 | 37 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 38 | 39 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 40 | 41 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 42 | 43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Misc.md: -------------------------------------------------------------------------------- 1 | Misc 2 | ==== 3 | 4 | [Service Workers](/Technical%20Stack/Frontend%20Developer/Misc.md#service-workers) 5 | ---------------------------------------------------------------------------------- 6 | 7 | * [ ] You understand what Service Workers are and the APIs they allow us to interact among different browsers 8 | * [ ] You can choose and install a SW plugin 9 | * [ ] You understand the challenges of updating a website that has a service worker cache enabled 10 | * [ ] You know how to create a service worker manually 11 | 12 | [Progressive Web Apps](/Technical%20Stack/Frontend%20Developer/Misc.md#progressive-web-apps) 13 | -------------------------------------------------------------------------------------------- 14 | 15 | * [ ] You understand the usage of PWA and can recommend different modes depending on project needs 16 | * [ ] You're able to create a manifest yourself or generate one using a plugin 17 | * [ ] You are aware of the pros and cons and the differences between browsers 18 | 19 | [Drag & Drop](/Technical%20Stack/Frontend%20Developer/Misc.md#drag-&-drop) 20 | -------------------------------------------------------------------------- 21 | 22 | ### [react-dnd](/Technical%20Stack/Frontend%20Developer/Misc.md#react-dnd) 23 | 24 | * [ ] You can order a list of elements 25 | * [ ] You can drag and drop elements in specific areas 26 | * [ ] You can change how the dragging element looks like when being dragged 27 | * [ ] You can add validations on dragging and dropping elements 28 | * [ ] You can specify the proper backend to support mobiles and desktops 29 | 30 | [WYSIWYG Text editors](/Technical%20Stack/Frontend%20Developer/Misc.md#wysiwyg-text-editors) 31 | -------------------------------------------------------------------------------------------- 32 | 33 | * [ ] You have used one of the text editor libraries 34 | 35 | ### [Slate](/Technical%20Stack/Frontend%20Developer/Misc.md#slate) 36 | 37 | * [ ] You have used the library in a project 38 | 39 | ### [Froala](/Technical%20Stack/Frontend%20Developer/Misc.md#froala) 40 | 41 | * [ ] You have used the library in a project 42 | 43 | * * * 44 | 45 | Contribution 46 | ------------ 47 | 48 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 49 | 50 | If you will spot any issues please add them in the **Issues** section. 51 | 52 | Credits 53 | ------- 54 | 55 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 56 | 57 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 58 | 59 | License 60 | ------- 61 | 62 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 63 | 64 | © 2020 Flairs Sp. z o.o. 65 | 66 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 67 | 68 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 69 | 70 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 71 | 72 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Monitoring.md: -------------------------------------------------------------------------------- 1 | Monitoring 2 | ========== 3 | 4 | * [ ] You know how to configure a reporter for a chosen monitoring platform 5 | 6 | [sentry-javascript](/Technical%20Stack/Frontend%20Developer/Monitoring.md#sentry-javascript) 7 | -------------------------------------------------------------------------------------------- 8 | 9 | * [ ] You know how to configure Sentry for React 10 | 11 | [snyk](/Technical%20Stack/Frontend%20Developer/Monitoring.md#snyk) 12 | ------------------------------------------------------------------ 13 | 14 | * [ ] You know how to configure Snyk to find packages vulnerabilities 15 | 16 | * * * 17 | 18 | Contribution 19 | ------------ 20 | 21 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 22 | 23 | If you will spot any issues please add them in the **Issues** section. 24 | 25 | Credits 26 | ------- 27 | 28 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 29 | 30 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 31 | 32 | License 33 | ------- 34 | 35 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 36 | 37 | © 2020 Flairs Sp. z o.o. 38 | 39 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 40 | 41 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 42 | 43 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Performance.md: -------------------------------------------------------------------------------- 1 | Performance 2 | =========== 3 | 4 | [Lighthouse](/Technical%20Stack/Frontend%20Developer/Performance.md#lighthouse) 5 | ------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to run Lighthouse audits in Google Chrome DevTools 8 | * [ ] You can analyse Lighthouse results and draw conclusions to improve your web app 9 | 10 | [PageSpeed Insights](/Technical%20Stack/Frontend%20Developer/Performance.md#page-speed-insights) 11 | ------------------------------------------------------------------------------------------------ 12 | 13 | * [ ] You know how to run PageSpeed Insights on your web app 14 | * [ ] You can analyse PageSpeed Insights results and draw conclusions to improve your web app 15 | 16 | * * * 17 | 18 | Contribution 19 | ------------ 20 | 21 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 22 | 23 | If you will spot any issues please add them in the **Issues** section. 24 | 25 | Credits 26 | ------- 27 | 28 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 29 | 30 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 31 | 32 | License 33 | ------- 34 | 35 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 36 | 37 | © 2020 Flairs Sp. z o.o. 38 | 39 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 40 | 41 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 42 | 43 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Routing.md: -------------------------------------------------------------------------------- 1 | Routing 2 | ======= 3 | 4 | [react-router](/Technical%20Stack/Frontend%20Developer/Routing.md#react-router) 5 | ------------------------------------------------------------------------------- 6 | 7 | * [ ] You can create a simple route structure using Switch and Route [:books:](https://reactrouter.com/en/main/components/route) 8 | * [ ] You know how to add parameters to a route, and make them required or optional [:books:](https://ui.dev/react-router-url-parameters) 9 | * [ ] You know how to render 404 pages [:books:](https://ui.dev/react-router-handling-404-pages) 10 | * [ ] You know how to use in order to render a needed component in a given occasion 11 | * [ ] You know how to interact with browser history via the browser router [:books:](https://reactrouter.com/en/main/routers/browser-router) 12 | * [ ] You know how to use basic router hooks (useNavigate, useLocation, useParams, useMatch) [:books:](https://reactrouter.com/en/main/hooks/use-match) 13 | * [ ] You know how to manipulate history's location object 14 | * [ ] You know to how separate private routes from public routes 15 | * [ ] You know how to securely render routes depending on the user's permission 16 | 17 | [react-router-dom](/Technical%20Stack/Frontend%20Developer/Routing.md#react-router-dom) 18 | --------------------------------------------------------------------------------------- 19 | 20 | * [ ] You know how to use basic components - Link, NavLink [:books:](https://www.codementor.io/@packt/using-the-link-and-navlink-components-to-navigate-to-a-route-rieqipp42) 21 | 22 | * * * 23 | 24 | Contribution 25 | ------------ 26 | 27 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 28 | 29 | If you will spot any issues please add them in the **Issues** section. 30 | 31 | Credits 32 | ------- 33 | 34 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 35 | 36 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 37 | 38 | License 39 | ------- 40 | 41 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 42 | 43 | © 2020 Flairs Sp. z o.o. 44 | 45 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 46 | 47 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 48 | 49 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 50 | 51 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 52 | -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/SEO.md: -------------------------------------------------------------------------------- 1 | SEO 2 | === 3 | 4 | * [ ] You understand HTML semantics and use them properly 5 | * [ ] You generate page's content following best SEO practices 6 | 7 | [react-helmet](/Technical%20Stack/Frontend%20Developer/SEO.md#react-helmet) 8 | --------------------------------------------------------------------------- 9 | 10 | * [ ] You can configure SEO meta tags, OG tags and page descriptions 11 | * [ ] You're able to generate descriptions based on content 12 | 13 | * * * 14 | 15 | Contribution 16 | ------------ 17 | 18 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 19 | 20 | If you will spot any issues please add them in the **Issues** section. 21 | 22 | Credits 23 | ------- 24 | 25 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 26 | 27 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 28 | 29 | License 30 | ------- 31 | 32 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 33 | 34 | © 2020 Flairs Sp. z o.o. 35 | 36 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 39 | 40 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 41 | 42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/SSR & Prerendering.md: -------------------------------------------------------------------------------- 1 | SSR & Prerendering 2 | ================== 3 | 4 | * [ ] You are aware of how SSR works and understand its use cases 5 | * [ ] You understand the difference between prerendering + cache compared to full SSR 6 | 7 | [Gatsby](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md#gatsby) 8 | ---------------------------------------------------------------------------------- 9 | 10 | * [ ] You know how to set up and add plugins to Gatsby 11 | * [ ] You understand the difference between gatsby-ssr, gatsby-node, gatsby-config and gatsby-browser files, and you know their roles 12 | * [ ] You understand the concept of data sources and how Gatsby creates a data store that you can later query using GraphQL 13 | * [ ] You know how to generate pages based on external sources (API, Markdown files) 14 | * [ ] You know how to dynamically create pages using createPages function 15 | * [ ] You know how to introduce a dynamic routing to a page 16 | 17 | ### [gatsby-image](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md#gatsby-image) 18 | 19 | * [ ] You know how to use gatsby-image to optimise the way we get images 20 | 21 | ### [GraphQL](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md#graph-ql) 22 | 23 | * [ ] You know how to write static queries 24 | * [ ] You know how to write page queries 25 | * [ ] You know how to use page context variables to parametrize page queries 26 | * [ ] You know how to customize GraphQL schemas [:books:](https://www.gatsbyjs.org/docs/schema-customization/) 27 | 28 | ### [Next.js](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md#next-js) 29 | ------- 30 | 31 | * [ ] You know how correctly use next/image [:books:](https://nextjs.org/docs/api-reference/next/image/) 32 | * [ ] You know how to use data fetching (getServerSideProps, getStaticProps) [:books:](https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props/) [:books:](https://nextjs.org/docs/basic-features/data-fetching/get-static-props/) 33 | * [ ] You know how create Dynamic Routes [:books:](https://nextjs.org/docs/routing/dynamic-routes/) 34 | 35 | [Netlify prerender](/Technical%20Stack/Frontend%20Developer/SSR%20&%20Prerendering.md#netlify-prerender) 36 | -------------------------------------------------------------------------------------------------------- 37 | 38 | * [ ] You know how to configure Netlify prerendering function 39 | 40 | * * * 41 | 42 | Contribution 43 | ------------ 44 | 45 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 46 | 47 | If you will spot any issues please add them in the **Issues** section. 48 | 49 | Credits 50 | ------- 51 | 52 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 53 | 54 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 55 | 56 | License 57 | ------- 58 | 59 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 60 | 61 | © 2020 Flairs Sp. z o.o. 62 | 63 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 64 | 65 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 66 | 67 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 68 | 69 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 70 | -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Templating engines.md: -------------------------------------------------------------------------------- 1 | Templating engines 2 | ================== 3 | 4 | * [ ] You know how to use templating engines in various situations that require you to create a parametrized text file 5 | 6 | [Mustache](/Technical%20Stack/Frontend%20Developer/Templating%20engines.md#mustache) 7 | ------------------------------------------------------------------------------------ 8 | 9 | * [ ] You can render a mustache template using an object with key:values 10 | * [ ] You know how to ignore a mustache tag so it's not replaced but rendered in HTML instead 11 | * [ ] You know how to use sections and manipulate data to not render null or use functions 12 | * [ ] You know how to use partials 13 | 14 | [Handlebars](/Technical%20Stack/Frontend%20Developer/Templating%20engines.md#handlebars) 15 | ---------------------------------------------------------------------------------------- 16 | 17 | * [ ] You know how to render a handlebars template 18 | * [ ] You know how to parse nested objects 19 | * [ ] You know how to use handlebars functions 20 | * [ ] You know how to create a helper function 21 | * [ ] You know how to escape HTML 22 | * [ ] You know how to use partials 23 | 24 | [markdown-it](/Technical%20Stack/Frontend%20Developer/Templating%20engines.md#markdown-it) 25 | ------------------------------------------------------------------------------------------ 26 | 27 | * [ ] You customise the markdown styles 28 | * [ ] You can escape or skip html tags 29 | * [ ] You can add plugins 30 | * [ ] You can use the APIs functions to manipulate data 31 | 32 | [react-markdown](/Technical%20Stack/Frontend%20Developer/Templating%20engines.md#react-markdown) 33 | ------------------------------------------------------------------------------------------------ 34 | 35 | * [ ] You customise the markdown styles 36 | * [ ] You can escape or skip html tags 37 | * [ ] You can add plugins 38 | * [ ] You can add parsers 39 | 40 | * * * 41 | 42 | Contribution 43 | ------------ 44 | 45 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 46 | 47 | If you will spot any issues please add them in the **Issues** section. 48 | 49 | Credits 50 | ------- 51 | 52 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 53 | 54 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 55 | 56 | License 57 | ------- 58 | 59 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 60 | 61 | © 2020 Flairs Sp. z o.o. 62 | 63 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 64 | 65 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 66 | 67 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 68 | 69 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Testing.md: -------------------------------------------------------------------------------- 1 | Testing 2 | ======= 3 | 4 | * [ ] You know how to test custom React hooks. 5 | * [ ] You know how to test a selector function. 6 | 7 | [jest](/Technical%20Stack/Mobile%20Developer/Testing.md#jest) 8 | ------------------------------------------------------------- 9 | 10 | * [ ] You know how to test components and functions 11 | * [ ] You know how to mock functions and global objects 12 | * [ ] You know how to add snapshot testing 13 | * [ ] You know how to add and configure Jest in the build tools 14 | 15 | [react-testing-library](/Technical%20Stack/Mobile%20Developer/Testing.md#react-testing-library) 16 | ----------------------------------------------------------------------------------------------- 17 | 18 | * [ ] You know how to install and configure it in the build tools 19 | * [ ] You know how to query for the component you want to test according to library best practices 20 | * [ ] You know how to mock server's response 21 | * [ ] You know how to test the redux store actions 22 | 23 | [jest-styled-components](/Technical%20Stack/Mobile%20Developer/Testing.md#jest-styled-components) 24 | ------------------------------------------------------------------------------------------------- 25 | 26 | * [ ] You can install and configure it in a project 27 | * [ ] You can test if an HTML node has the proper style 28 | * [ ] You can create snapshots with readable classes and proper styles properties 29 | 30 | [redux-saga-test-plan](/Technical%20Stack/Mobile%20Developer/Testing.md#redux-saga-test-plan) 31 | --------------------------------------------------------------------------------------------- 32 | 33 | * [ ] You know how to test when an action has been put for processing 34 | * [ ] You know how to provide an initial state for a saga execution 35 | * [ ] You know how to check if the expected action has been called 36 | 37 | [Mocking](/Technical%20Stack/Mobile%20Developer/Testing.md#mocking) 38 | ------------------------------------------------------------------- 39 | 40 | ### [nock](/Technical%20Stack/Mobile%20Developer/Testing.md#nock) 41 | 42 | * [ ] You know how to mock API calls with or without payload 43 | * [ ] You know how to set configuration header's and meta data 44 | * [ ] You can write assertions to check if API endpoint has been called with proper data 45 | 46 | ### [mockdate](/Technical%20Stack/Mobile%20Developer/Testing.md#mockdate) 47 | 48 | * [ ] You know how to mock Date object to return specific value in test environment 49 | 50 | * * * 51 | 52 | Contribution 53 | ------------ 54 | 55 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 56 | 57 | If you will spot any issues please add them in the **Issues** section. 58 | 59 | Credits 60 | ------- 61 | 62 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 63 | 64 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 65 | 66 | License 67 | ------- 68 | 69 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 70 | 71 | © 2020 Flairs Sp. z o.o. 72 | 73 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 74 | 75 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 76 | 77 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 78 | 79 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Tools.md: -------------------------------------------------------------------------------- 1 | Tools 2 | ===== 3 | 4 | [Design](/Technical%20Stack/Frontend%20Developer/Tools.md#design) 5 | ----------------------------------------------------------------- 6 | 7 | ### [Figma](/Technical%20Stack/Mobile%20Developer/Tools.md#figma) 8 | 9 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project [:books:](https://www.figma.com/resources/assets/developer-onboarding-guide/) 10 | * [ ] You know how to extract image assets from a design project 11 | * [ ] You know how to extract vector icon asset from a project 12 | 13 | ### [Zeplin](/Technical%20Stack/Mobile%20Developer/Tools.md#zeplin) 14 | 15 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 16 | * [ ] You know how to extract image assets from a design project 17 | * [ ] You know how to extract vector icon asset from a project 18 | 19 | ### [Invision](/Technical%20Stack/Mobile%20Developer/Tools.md#invision) 20 | 21 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 22 | * [ ] You know how to extract image assets from a design project 23 | * [ ] You know how to extract vector icon asset from a project 24 | 25 | ### [Adobe XD](/Technical%20Stack/Mobile%20Developer/Tools.md#adobe-xd) 26 | 27 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 28 | * [ ] You know how to extract image assets from a design project 29 | * [ ] You know how to extract vector icon asset from a project 30 | 31 | * * * 32 | 33 | Contribution 34 | ------------ 35 | 36 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 37 | 38 | If you will spot any issues please add them in the **Issues** section. 39 | 40 | Credits 41 | ------- 42 | 43 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 44 | 45 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 46 | 47 | License 48 | ------- 49 | 50 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 51 | 52 | © 2020 Flairs Sp. z o.o. 53 | 54 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 55 | 56 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 57 | 58 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 59 | 60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Frontend Developer/Visualizations.md: -------------------------------------------------------------------------------- 1 | Visualizations 2 | ============== 3 | 4 | [Charting](/Technical%20Stack/Frontend%20Developer/Visualizations.md#charting) 5 | ------------------------------------------------------------------------------ 6 | 7 | You don't need to know all of the charting libraries. One is enough, but make sure to master it! 8 | 9 | * [ ] You used at least one charting library in a project 10 | * [ ] You implemented custom interactive charts using one of the charting libraries 11 | 12 | ### [nivo](/Technical%20Stack/Frontend%20Developer/Visualizations.md#nivo) 13 | 14 | * [ ] You can create simple graphs and incorporate with React life cycle [:books:](https://medium.com/@samuelsetsoafia/nivo-a-great-alternative-to-d3-in-react-6cb18d907d2) 15 | * [ ] You can incorporate application theme to modify graphs style [:books:](https://medium.com/swlh/beautiful-and-responsive-line-charts-using-nivo-react-and-material-ui-18d2cbd2953b) 16 | * [ ] You can animate and add interactions to the graphs so it interacts with the React component lifecycle 17 | * [ ] You know how to extend the nivo library to customise it and create non standard visualizations 18 | 19 | ### [vx](/Technical%20Stack/Frontend%20Developer/Visualizations.md#vx) 20 | 21 | * [ ] You can create simple graphs and incorporate with React life cycle [:books:](https://codedaily.io/tutorials/39/Make-a-Beautiful-Interactive-Bitcoin-Price-Chart-with-React-D3-and-VX) 22 | * [ ] You can incorporate application theme to modify graphs style 23 | * [ ] You can animate and add interactions to the graphs so it interacts with the React component lifecycle 24 | * [ ] You know how to extend the vx library to customise it and create non standard visualizations 25 | 26 | ### [d3.js](/Technical%20Stack/Frontend%20Developer/Visualizations.md#d3.js) 27 | 28 | * [ ] You can explain the concept of data driven documents 29 | * [ ] You know how to create basic graphs with specific axes [:books:](https://www.tutorialsteacher.com/d3js) 30 | * [ ] You know how to interact with the SVG's nodes and bind events 31 | * [ ] You know how to customise the styles of a graph to change its shape and colours 32 | * [ ] You can scale the chart accordingly to the page size 33 | * [ ] You can use d3 transitions to animate SVG elements 34 | 35 | [Canvas](/Technical%20Stack/Frontend%20Developer/Visualizations.md#canvas) 36 | -------------------------------------------------------------------------- 37 | 38 | ### [Pixi.js](/Technical%20Stack/Frontend%20Developer/Visualizations.md#pixi.js) 39 | 40 | * [ ] You know how to create pixi application structure [:books:](https://www.pixijs.com/tutorials) 41 | * [ ] You know how to use pixi ticker 42 | * [ ] You know how to use pixi filters 43 | * [ ] You know how to render text 44 | * [ ] You know how to create primitive and complex shapes 45 | * [ ] You know how to load and render sprites 46 | * [ ] You know how to animate objects 47 | * [ ] You know how to scale objects depending on device pixel density ration 48 | * [ ] You know what are the pros and cons of 2D and 3D renderers 49 | * [ ] You know how to use and animate a texture mesh [:books:](http://scottmcdonnell.github.io/pixi-examples/index.html?s=basics&f=textured-mesh.js&title=Textured%20Mesh) 50 | * [ ] You know how to apply object pooling pattern 51 | * [ ] You know how to apply spatial hash algorithm to optimize renders 52 | 53 | [SVG](/Technical%20Stack/Frontend%20Developer/Visualizations.md#svg) 54 | -------------------------------------------------------------------- 55 | 56 | * [ ] D3.js 57 | * [ ] react-d3 58 | * [ ] svgr 59 | 60 | [WebGL](/Technical%20Stack/Frontend%20Developer/Visualizations.md#web-gl) 61 | ------------------------------------------------------------------------- 62 | 63 | * [ ] three.js 64 | * [ ] babylon.js 65 | 66 | * * * 67 | 68 | Contribution 69 | ------------ 70 | 71 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 72 | 73 | If you will spot any issues please add them in the **Issues** section. 74 | 75 | Credits 76 | ------- 77 | 78 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 79 | 80 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 81 | 82 | License 83 | ------- 84 | 85 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 86 | 87 | © 2020 Flairs Sp. z o.o. 88 | 89 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 90 | 91 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 92 | 93 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 94 | 95 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer.md: -------------------------------------------------------------------------------- 1 | Mobile Developer 2 | ---------------- 3 | 4 | ### Browse by technical topic 5 | 6 | * [Company best practices](/Technical%20Stack/Mobile%20Developer/Company%20best%20practices.md) 7 | * [React](/Technical%20Stack/Mobile%20Developer/React.md) 8 | * [React-native](/Technical%20Stack/Mobile%20Developer/React-native.md) 9 | * [Application state management](/Technical%20Stack/Mobile%20Developer/Application%20state%20management.md) 10 | * [HTTP](/Technical%20Stack/Mobile%20Developer/HTTP.md) 11 | * [Animations](/Technical%20Stack/Mobile%20Developer/Animations.md) 12 | * [Internationalization](/Technical%20Stack/Mobile%20Developer/Internationalization.md) 13 | * [Navigation](/Technical%20Stack/Mobile%20Developer/Navigation.md) 14 | * [Components](/Technical%20Stack/Mobile%20Developer/Components.md) 15 | * [Common Application Modules](/Technical%20Stack/Mobile%20Developer/Common%20Application%20Modules.md) 16 | * [Date & Time](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md) 17 | * [Versioning](/Technical%20Stack/Mobile%20Developer/Versioning.md) 18 | * [Testing](/Technical%20Stack/Mobile%20Developer/Testing.md) 19 | * [Performance](/Technical%20Stack/Mobile%20Developer/Performance.md) 20 | * [Development tools](/Technical%20Stack/Mobile%20Developer/Development%20tools.md) 21 | * [Crash reporting / Monitoring](/Technical%20Stack/Mobile%20Developer/Crash%20reporting%20/%20Monitoring.md) 22 | * [CI/CD](/Technical%20Stack/Mobile%20Developer/CI/CD.md) 23 | * [Tools](/Technical%20Stack/Mobile%20Developer/Tools.md) 24 | * [Services](/Technical%20Stack/Mobile%20Developer/Services.md) 25 | 26 | * * * 27 | 28 | Contribution 29 | ------------ 30 | 31 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 32 | 33 | If you will spot any issues please add them in the **Issues** section. 34 | 35 | Credits 36 | ------- 37 | 38 | This page is maintained by [Apptension](https://apptension.com) team. 39 | 40 | You can see more of our work here: [Apptension portfolio](https://www.apptension.com/portfolio). 41 | 42 | License 43 | ------- 44 | 45 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 46 | 47 | © 2023 Apptension Sp. z o.o. 48 | 49 | Built and maintained by [Apptension](https://apptension.com). 50 | 51 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 52 | 53 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 54 | 55 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 56 | -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Animations.md: -------------------------------------------------------------------------------- 1 | Animations 2 | ========== 3 | 4 | [react-native-reanimated](/Technical%20Stack/Mobile%20Developer/Animations.md#react-native-reanimated) 5 | ------------------------------------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to use Value 8 | * [ ] You know how to run timing animation with easing 9 | * [ ] You know how to run decay animation 10 | * [ ] You know how to run spring animation 11 | * [ ] You know how to create animation using native events 12 | * [ ] You know how to create animation using gestures 13 | * [ ] You know when and how to use Animated.Code 14 | * [ ] You know how to manage clock 15 | * [ ] You know how to use clock methods 16 | * [ ] You can create animation block with conditions and calculations 17 | 18 | [lottie-react-native](/Technical%20Stack/Mobile%20Developer/Animations.md#lottie-react-native) 19 | ---------------------------------------------------------------------------------------------- 20 | 21 | * [ ] You know how to correctly configure library and import json animations 22 | * [ ] You know how to run animation using Animated.Value 23 | * [ ] You know how to create loop animation 24 | 25 | * * * 26 | 27 | Contribution 28 | ------------ 29 | 30 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 31 | 32 | If you will spot any issues please add them in the **Issues** section. 33 | 34 | Credits 35 | ------- 36 | 37 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 38 | 39 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 40 | 41 | License 42 | ------- 43 | 44 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 45 | 46 | © 2020 Flairs Sp. z o.o. 47 | 48 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 49 | 50 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 51 | 52 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 53 | 54 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/CI/CD.md: -------------------------------------------------------------------------------- 1 | CI/CD 2 | ===== 3 | 4 | [fastlane](/Technical%20Stack/Mobile%20Developer/CI/CD.md#fastlane) 5 | ------------------------------------------------------------------- 6 | 7 | * [ ] Yow know how to define Appfile [:books:](http://docs.fastlane.tools/advanced/Appfile/#appfile) 8 | * [ ] You know how to define Matchfile for proper enviroments [:books:](https://docs.fastlane.tools/actions/match/#match) 9 | * [ ] You know how to prepare lanes overwriting app configuration and how to use plugins [:books:](http://docs.fastlane.tools/advanced/Fastfile/#fastfile) 10 | 11 | [Visual Studio App Center](/Technical%20Stack/Mobile%20Developer/CI/CD.md#visual-studio-app-center) 12 | --------------------------------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to configure iOS and Android build 15 | * [ ] You know how to correctly configure app signing 16 | * [ ] You know how to use and define pre-build scripts 17 | * [ ] You know how to publish apps automatically to the specified group of people [:books:](https://docs.microsoft.com/en-us/appcenter/distribution/groups) 18 | * [ ] You know how to configure Google Play Alpha / App Store Connect build upload [:books:](https://docs.microsoft.com/en-us/appcenter/distribution/stores/) 19 | 20 | * * * 21 | 22 | Contribution 23 | ------------ 24 | 25 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 26 | 27 | If you will spot any issues please add them in the **Issues** section. 28 | 29 | Credits 30 | ------- 31 | 32 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 33 | 34 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 35 | 36 | License 37 | ------- 38 | 39 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 40 | 41 | © 2020 Flairs Sp. z o.o. 42 | 43 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 44 | 45 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 46 | 47 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 48 | 49 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Components.md: -------------------------------------------------------------------------------- 1 | Components 2 | ========== 3 | 4 | [Forms](/Technical%20Stack/Mobile%20Developer/Components.md#forms) 5 | ------------------------------------------------------------------ 6 | 7 | ### [react-native-keyboard-aware-scroll-view](/Technical%20Stack/Mobile%20Developer/Components.md#react-native-keyboard-aware-scroll-view) 8 | 9 | * [ ] You know how to handle automatic scroll to the form inputs on focus 10 | * [ ] You know how to navigate between form fields 11 | 12 | [Lists](/Technical%20Stack/Mobile%20Developer/Components.md#lists) 13 | ------------------------------------------------------------------ 14 | 15 | ### [react-native-largelist](/Technical%20Stack/Mobile%20Developer/Components.md#react-native-largelist) 16 | 17 | * [ ] You know how to render LargeList with header and footer 18 | * [ ] You know how to use pull to refresh 19 | * [ ] You can listen on scroll and scroll to proper section 20 | * [ ] You can render list with/ without section headers 21 | * [ ] You know how to handle list item component flip animation 22 | * [ ] You know how to use custom pull to refresh component 23 | * [ ] You know how to use lottie animation as a loader 24 | 25 | [Images](/Technical%20Stack/Mobile%20Developer/Components.md#images) 26 | -------------------------------------------------------------------- 27 | 28 | ### [react-native-fast-image](/Technical%20Stack/Mobile%20Developer/Components.md#react-native-fast-image) 29 | 30 | * [ ] You know how to display image with proper resize mode 31 | * [ ] You know how to handle image loader for cached images 32 | * [ ] You know how to preload images 33 | * [ ] You know how to prioritize images loading 34 | 35 | * * * 36 | 37 | Contribution 38 | ------------ 39 | 40 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 41 | 42 | If you will spot any issues please add them in the **Issues** section. 43 | 44 | Credits 45 | ------- 46 | 47 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 48 | 49 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 50 | 51 | License 52 | ------- 53 | 54 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 55 | 56 | © 2020 Flairs Sp. z o.o. 57 | 58 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 59 | 60 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 61 | 62 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 63 | 64 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Crash reporting / Monitoring.md: -------------------------------------------------------------------------------- 1 | Crash reporting / Monitoring 2 | ============================ 3 | 4 | [@sentry/react-native](/Technical%20Stack/Mobile%20Developer/Crash%20reporting%20/%20Monitoring.md#@sentry/react-native) 5 | ------------------------------------------------------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to set tags 8 | * [ ] You know how to add breadcrumbs 9 | * [ ] You know how to capture exception 10 | * [ ] You know how to capture custom message 11 | * [ ] You know how to view and analyze crash reports 12 | 13 | [@react-native-firebase/crashlytics](/Technical%20Stack/Mobile%20Developer/Crash%20reporting%20/%20Monitoring.md#@react-native-firebase/crashlytics) 14 | ---------------------------------------------------------------------------------------------------------------------------------------------------- 15 | 16 | * [ ] You know how to set user attributes 17 | * [ ] You know how to report errors 18 | * [ ] You know how to view and analyze crash reports 19 | 20 | * * * 21 | 22 | Contribution 23 | ------------ 24 | 25 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 26 | 27 | If you will spot any issues please add them in the **Issues** section. 28 | 29 | Credits 30 | ------- 31 | 32 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 33 | 34 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 35 | 36 | License 37 | ------- 38 | 39 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 40 | 41 | © 2020 Flairs Sp. z o.o. 42 | 43 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 44 | 45 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 46 | 47 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 48 | 49 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Date & Time.md: -------------------------------------------------------------------------------- 1 | Date & Time 2 | =========== 3 | 4 | * [ ] You know how to create a Date object for a specific date [:books:](https://www.digitalocean.com/community/tutorials/understanding-date-and-time-in-javascript) 5 | * [ ] You know how to compare native date objects 6 | * [ ] You know what ISO 8601 standard format is and how to parse it to a date object [:books:](https://www.iso.org/iso-8601-date-and-time-format.html) 7 | * [ ] You know what unix timestamp is and how to parse it to a date object [:books:](https://stackoverflow.com/questions/20822821/what-is-a-unix-timestamp-and-why-use-it) 8 | 9 | [date-fns](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#date-fns) 10 | ----------------------------------------------------------------------------- 11 | 12 | * [ ] You know how to create a date-fns date object for specific date [:books:](https://date-fns.org/v2.0.0-alpha.7/docs/FP-Guide#usage) 13 | * [ ] You know how to format and display a date object using standard format strings [:books:](https://www.digitalocean.com/community/tutorials/js-date-fns) 14 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 15 | * [ ] You know how to manipulate, compare date objects 16 | 17 | [react-datetime](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#react-datetime) 18 | ----------------------------------------------------------------------------------------- 19 | 20 | * [ ] You know how to format and display a date object using standard format strings 21 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 22 | * [ ] You know how to manipulate and compare date objects 23 | 24 | [moment.js](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#moment.js) 25 | ------------------------------------------------------------------------------- 26 | 27 | * [ ] You know how to format and display a date object using standard format strings 28 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 29 | * [ ] You know how to manipulate and compare date objects 30 | 31 | [dayjs](/Technical%20Stack/Mobile%20Developer/Date%20&%20Time.md#dayjs) 32 | ----------------------------------------------------------------------- 33 | 34 | * [ ] You know how to format and display a date object using standard format strings 35 | * [ ] You know how to convert date into a different timezone (usually user's local timezone) 36 | * [ ] You know how to manipulate and compare date objects 37 | 38 | * * * 39 | 40 | Contribution 41 | ------------ 42 | 43 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 44 | 45 | If you will spot any issues please add them in the **Issues** section. 46 | 47 | Credits 48 | ------- 49 | 50 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 51 | 52 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 53 | 54 | License 55 | ------- 56 | 57 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 58 | 59 | © 2020 Flairs Sp. z o.o. 60 | 61 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 62 | 63 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 64 | 65 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 66 | 67 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Development tools.md: -------------------------------------------------------------------------------- 1 | Development tools 2 | ================= 3 | 4 | [React Native Debugger](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#react-native-debugger) 5 | ----------------------------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to use React/Redux dev tools 8 | * [ ] You know how to use Network Inspect 9 | * [ ] You know how to use debugger with a real device 10 | 11 | [Xcode](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#xcode) 12 | --------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to run app on a real device 15 | * [ ] You know how to run an app on a simulator 16 | * [ ] You know how to manage app schema 17 | * [ ] You know how to change Team, Certificate and Provisioning Profile 18 | * [ ] You know how to build app ready for distribution 19 | 20 | [Android Studio](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#android-studio) 21 | --------------------------------------------------------------------------------------------- 22 | 23 | * [ ] You know how to run app on a real device 24 | * [ ] You know how to run an app on an emulator 25 | * [ ] You know how to manage keystores 26 | * [ ] You know how to build app ready for distribution 27 | 28 | [Multiple enviroments](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#multiple-enviroments) 29 | --------------------------------------------------------------------------------------------------------- 30 | 31 | ### [react-native-config](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#react-native-config) 32 | 33 | * [ ] You know how to configure app to use .env file 34 | * [ ] You know how to overwrite enviroment variables via App Center scripts 35 | 36 | ### [Xcode](/Technical%20Stack/Mobile%20Developer/Development%20tools.md#xcode) 37 | 38 | * [ ] You know how to manage schemas 39 | * [ ] You know how to use proper certificate and provisioning profile 40 | 41 | * * * 42 | 43 | Contribution 44 | ------------ 45 | 46 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 47 | 48 | If you will spot any issues please add them in the **Issues** section. 49 | 50 | Credits 51 | ------- 52 | 53 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 54 | 55 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 56 | 57 | License 58 | ------- 59 | 60 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 61 | 62 | © 2020 Flairs Sp. z o.o. 63 | 64 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 65 | 66 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 67 | 68 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 69 | 70 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/HTTP.md: -------------------------------------------------------------------------------- 1 | HTTP 2 | ==== 3 | 4 | [Requests](/Technical%20Stack/Mobile%20Developer/HTTP.md#requests) 5 | ------------------------------------------------------------------ 6 | 7 | * [ ] You know what cookies are 8 | * [ ] You know what HTTP headers are 9 | * [ ] You can explain what CORS is and understand its shortcomings 10 | * [ ] You can explain what HTTP only cookie is 11 | * [ ] You know which parts of the HTTPS request is encrypted 12 | * [ ] You know different values for content-type header and understand when to use them 13 | 14 | ### [fetch](/Technical%20Stack/Mobile%20Developer/HTTP.md#fetch) 15 | 16 | * [ ] You know how to create an HTTP request using native fetch [:books:](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) 17 | * [ ] You know how to set HTTP headers in a request 18 | * [ ] You know how to read HTTP headers sent in a response 19 | * [ ] You know how to handle errors returned in HTTP response [:books:](https://levelup.gitconnected.com/the-definite-guide-to-handling-errors-gracefully-in-javascript-58424d9c60e6) 20 | * [ ] You know how to cancel a request 21 | 22 | ### [Axios](/Technical%20Stack/Mobile%20Developer/HTTP.md#axios) 23 | 24 | * [ ] You know how to use axios to send HTTP request to an API endpoint [:books:](https://github.com/apptension/cra-template-apptension/blob/master/template/src/modules/users/users.sagas.ts) 25 | * [ ] You know how to set HTTP headers in a request 26 | * [ ] You know how to handle errors returned in HTTP response [:books:](https://www.intricatecloud.io/2020/03/how-to-handle-api-errors-in-your-web-app-using-axios/) 27 | * [ ] You can configure axios to have a predefined base url for making requests 28 | * [ ] You know how to read HTTP headers sent in a response 29 | * [ ] You know to add meta data (for example JWT token) to the request headers 30 | * [ ] You know how to transform data with transformResponse and transformRequest 31 | * [ ] You know how to serealize parameters with paramsSerializer 32 | * [ ] You know how to use interceptors 33 | * [ ] You know how to cancel a request 34 | 35 | [Websockets](/Technical%20Stack/Mobile%20Developer/HTTP.md#websockets) 36 | ---------------------------------------------------------------------- 37 | 38 | * [ ] You know how to connect to a websocket connection using either a native configuration or an existing library 39 | 40 | ### [pusher-js](/Technical%20Stack/Mobile%20Developer/HTTP.md#pusher-js) 41 | 42 | * [ ] You know how to configure Pusher JS 43 | * [ ] You know how to subscribe/unsubscribe to a channel 44 | * [ ] You know how to bind/unbind to events 45 | 46 | [Tools](/Technical%20Stack/Mobile%20Developer/HTTP.md#tools) 47 | ------------------------------------------------------------ 48 | 49 | ### [humps](/Technical%20Stack/Mobile%20Developer/HTTP.md#humps) 50 | 51 | * [ ] You know how to use humps to camelize or decamelize strings and object's keys 52 | * [ ] You know how to split strings and object's keys containing numerical values 53 | 54 | ### [query-string](/Technical%20Stack/Mobile%20Developer/HTTP.md#query-string) 55 | 56 | * [ ] You know how to parse URLs 57 | * [ ] You know how to create a query string out of an object 58 | 59 | ### [normalizr](/Technical%20Stack/Mobile%20Developer/HTTP.md#normalizr) 60 | 61 | * [ ] You know how to define an object entity schema 62 | * [ ] You know how to normalize data returned from server 63 | * [ ] You can explain what are the benefits of using normalizr library 64 | 65 | ### [http-status-codes](/Technical%20Stack/Mobile%20Developer/HTTP.md#http-status-codes) 66 | 67 | * [ ] You use descriptive status codes instead of number literals 68 | 69 | * * * 70 | 71 | Contribution 72 | ------------ 73 | 74 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 75 | 76 | If you will spot any issues please add them in the **Issues** section. 77 | 78 | Credits 79 | ------- 80 | 81 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 82 | 83 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 84 | 85 | License 86 | ------- 87 | 88 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 89 | 90 | © 2020 Flairs Sp. z o.o. 91 | 92 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 93 | 94 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 95 | 96 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 97 | 98 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Internationalization.md: -------------------------------------------------------------------------------- 1 | Internationalization 2 | ==================== 3 | 4 | [react-intl](/Technical%20Stack/Mobile%20Developer/Internationalization.md#react-intl) 5 | -------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to configure react-intl with react-native 8 | * [ ] You can define multiple languages 9 | * [ ] You can handle language change 10 | 11 | [Native Modules](/Technical%20Stack/Mobile%20Developer/Internationalization.md#native-modules) 12 | ---------------------------------------------------------------------------------------------- 13 | 14 | * [ ] You know how to get device locale 15 | 16 | [react-Intl](/Technical%20Stack/Mobile%20Developer/Internationalization.md#react-intl) 17 | -------------------------------------------------------------------------------------- 18 | 19 | * [ ] You know and use React-intl components [:books:](https://www.newline.co/@dmitryrogozhny/quick-introduction-to-internationalization-in-react-with-react-intl--13b17de9) 20 | * [ ] You know how to create messages files using defineMessage api [:books:](https://github.com/apptension/cra-template-apptension/blob/master/template/src/routes/home/home.messages.ts) 21 | * [ ] You know how to use useIntl hook 22 | 23 | [format.js](/Technical%20Stack/Mobile%20Developer/Internationalization.md#format.js) 24 | ------------------------------------------------------------------------------------ 25 | 26 | * [ ] You know how to format a message passing values and date-time stamps 27 | * [ ] You know how to pluralize messages based on a passed value 28 | 29 | * * * 30 | 31 | Contribution 32 | ------------ 33 | 34 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 35 | 36 | If you will spot any issues please add them in the **Issues** section. 37 | 38 | Credits 39 | ------- 40 | 41 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 42 | 43 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 44 | 45 | License 46 | ------- 47 | 48 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 49 | 50 | © 2020 Flairs Sp. z o.o. 51 | 52 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 53 | 54 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 55 | 56 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 57 | 58 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Navigation.md: -------------------------------------------------------------------------------- 1 | Navigation 2 | ========== 3 | 4 | [@react-navigation/native](/Technical%20Stack/Mobile%20Developer/Navigation.md#@react-navigation/native) 5 | -------------------------------------------------------------------------------------------------------- 6 | 7 | * [ ] You know how to create stack navigator 8 | * [ ] You know how to create tab navigator 9 | * [ ] You know how to create drawer navigator 10 | * [ ] You know how to navigate between screens 11 | * [ ] You know how to pass parameters between screens 12 | * [ ] You know how to create custom screen animation 13 | * [ ] You know how to use navigator listeners 14 | * [ ] You know how to track screens for Analytics 15 | * [ ] You know how to listen screen focus 16 | 17 | * * * 18 | 19 | Contribution 20 | ------------ 21 | 22 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 23 | 24 | If you will spot any issues please add them in the **Issues** section. 25 | 26 | Credits 27 | ------- 28 | 29 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 30 | 31 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 32 | 33 | License 34 | ------- 35 | 36 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 37 | 38 | © 2020 Flairs Sp. z o.o. 39 | 40 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 41 | 42 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 43 | 44 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Performance.md: -------------------------------------------------------------------------------- 1 | Performance 2 | =========== 3 | 4 | [JS Engines](/Technical%20Stack/Mobile%20Developer/Performance.md#js-engines) 5 | ----------------------------------------------------------------------------- 6 | 7 | ### [Hermes](/Technical%20Stack/Mobile%20Developer/Performance.md#hermes) 8 | 9 | * [ ] You know how to enable Hermes on Android 10 | * [ ] You know profits of using Hermes 11 | 12 | [Monitoring](/Technical%20Stack/Mobile%20Developer/Performance.md#monitoring) 13 | ----------------------------------------------------------------------------- 14 | 15 | ### [@react-native-firebase/perf](/Technical%20Stack/Mobile%20Developer/Performance.md#@react-native-firebase/perf) 16 | 17 | * [ ] You can configure Firebase Performance Monitoring 18 | * [ ] You know how to create http metrics 19 | * [ ] You how to create custom traces 20 | 21 | * * * 22 | 23 | Contribution 24 | ------------ 25 | 26 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 27 | 28 | If you will spot any issues please add them in the **Issues** section. 29 | 30 | Credits 31 | ------- 32 | 33 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 34 | 35 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 36 | 37 | License 38 | ------- 39 | 40 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 41 | 42 | © 2020 Flairs Sp. z o.o. 43 | 44 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 45 | 46 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 47 | 48 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 49 | 50 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Services.md: -------------------------------------------------------------------------------- 1 | Services 2 | ======== 3 | 4 | [Apple Developer](/Technical%20Stack/Mobile%20Developer/Services.md#apple-developer) 5 | ------------------------------------------------------------------------------------ 6 | 7 | ### [Certificates](/Technical%20Stack/Mobile%20Developer/Services.md#certificates) 8 | 9 | * [ ] You know how to create development certificate 10 | * [ ] You know how to create distribiution certificate 11 | 12 | ### [Keys](/Technical%20Stack/Mobile%20Developer/Services.md#keys) 13 | 14 | * [ ] You know how to create Apple Push Notifications service key 15 | 16 | ### [App IDs](/Technical%20Stack/Mobile%20Developer/Services.md#app-ids) 17 | 18 | * [ ] You can create App identifiers 19 | * [ ] You can define correct App ID Capabilities 20 | * [ ] You can manage app id suffixes 21 | 22 | ### [Provisioning profiles](/Technical%20Stack/Mobile%20Developer/Services.md#provisioning-profiles) 23 | 24 | * [ ] You know how to create proper type of Provisioning Profile regarding the environment 25 | * [ ] You know how to add test devices and assign them to the Provisioning Profile 26 | 27 | [App Store Connect](/Technical%20Stack/Mobile%20Developer/Services.md#app-store-connect) 28 | ---------------------------------------------------------------------------------------- 29 | 30 | ### [Testflight](/Technical%20Stack/Mobile%20Developer/Services.md#testflight) 31 | 32 | * [ ] You know how to distribute app via Testflight to the App Store Connect users 33 | * [ ] You know how to distribute app via Testflight to the beta testers 34 | * [ ] You know how to invite testers via invitation code 35 | 36 | ### [Release management](/Technical%20Stack/Mobile%20Developer/Services.md#release-management) 37 | 38 | * [ ] You know how to add a new version of the app and submit it to review 39 | 40 | ### [Store presence](/Technical%20Stack/Mobile%20Developer/Services.md#store-presence) 41 | 42 | * [ ] You can define all the required options to show the app in the App Store 43 | 44 | [Google Play Console](/Technical%20Stack/Mobile%20Developer/Services.md#google-play-console) 45 | -------------------------------------------------------------------------------------------- 46 | 47 | ### [Release management](/Technical%20Stack/Mobile%20Developer/Services.md#release-management) 48 | 49 | * [ ] You know how to distribute app via Alpha/Beta enviroment to the beta testers 50 | * [ ] You know how to promote an app to the Production with full/partial roll-out 51 | 52 | ### [Store presence](/Technical%20Stack/Mobile%20Developer/Services.md#store-presence) 53 | 54 | * [ ] You can define all the required options to show the app in the Google Play 55 | 56 | ### [App signing](/Technical%20Stack/Mobile%20Developer/Services.md#app-signing) 57 | 58 | * [ ] You know how to handle App Signing by Google Play 59 | 60 | * * * 61 | 62 | Contribution 63 | ------------ 64 | 65 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 66 | 67 | If you will spot any issues please add them in the **Issues** section. 68 | 69 | Credits 70 | ------- 71 | 72 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 73 | 74 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 75 | 76 | License 77 | ------- 78 | 79 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 80 | 81 | © 2020 Flairs Sp. z o.o. 82 | 83 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 84 | 85 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 86 | 87 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 88 | 89 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Testing.md: -------------------------------------------------------------------------------- 1 | Testing 2 | ======= 3 | 4 | * [ ] You know how to test custom React hooks. 5 | * [ ] You know how to test a selector function. 6 | 7 | [jest](/Technical%20Stack/Mobile%20Developer/Testing.md#jest) 8 | ------------------------------------------------------------- 9 | 10 | * [ ] You know how to test components and functions 11 | * [ ] You know how to mock functions and global objects 12 | * [ ] You know how to add snapshot testing 13 | * [ ] You know how to add and configure Jest in the build tools 14 | 15 | [react-testing-library](/Technical%20Stack/Mobile%20Developer/Testing.md#react-testing-library) 16 | ----------------------------------------------------------------------------------------------- 17 | 18 | * [ ] You know how to install and configure it in the build tools 19 | * [ ] You know how to query for the component you want to test according to library best practices 20 | * [ ] You know how to mock server's response 21 | * [ ] You know how to test the redux store actions 22 | 23 | [jest-styled-components](/Technical%20Stack/Mobile%20Developer/Testing.md#jest-styled-components) 24 | ------------------------------------------------------------------------------------------------- 25 | 26 | * [ ] You can install and configure it in a project 27 | * [ ] You can test if an HTML node has the proper style 28 | * [ ] You can create snapshots with readable classes and proper styles properties 29 | 30 | [redux-saga-test-plan](/Technical%20Stack/Mobile%20Developer/Testing.md#redux-saga-test-plan) 31 | --------------------------------------------------------------------------------------------- 32 | 33 | * [ ] You know how to test when an action has been put for processing 34 | * [ ] You know how to provide an initial state for a saga execution 35 | * [ ] You know how to check if the expected action has been called 36 | 37 | [Mocking](/Technical%20Stack/Mobile%20Developer/Testing.md#mocking) 38 | ------------------------------------------------------------------- 39 | 40 | ### [nock](/Technical%20Stack/Mobile%20Developer/Testing.md#nock) 41 | 42 | * [ ] You know how to mock API calls with or without payload 43 | * [ ] You know how to set configuration header's and meta data 44 | * [ ] You can write assertions to check if API endpoint has been called with proper data 45 | 46 | ### [mockdate](/Technical%20Stack/Mobile%20Developer/Testing.md#mockdate) 47 | 48 | * [ ] You know how to mock Date object to return specific value in test environment 49 | 50 | * * * 51 | 52 | Contribution 53 | ------------ 54 | 55 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 56 | 57 | If you will spot any issues please add them in the **Issues** section. 58 | 59 | Credits 60 | ------- 61 | 62 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 63 | 64 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 65 | 66 | License 67 | ------- 68 | 69 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 70 | 71 | © 2020 Flairs Sp. z o.o. 72 | 73 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 74 | 75 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 76 | 77 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 78 | 79 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Tools.md: -------------------------------------------------------------------------------- 1 | Tools 2 | ===== 3 | 4 | [Design](/Technical%20Stack/Mobile%20Developer/Tools.md#design) 5 | --------------------------------------------------------------- 6 | 7 | ### [Figma](/Technical%20Stack/Mobile%20Developer/Tools.md#figma) 8 | 9 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project [:books:](https://www.figma.com/resources/assets/developer-onboarding-guide/) 10 | * [ ] You know how to extract image assets from a design project 11 | * [ ] You know how to extract vector icon asset from a project 12 | 13 | ### [Zeplin](/Technical%20Stack/Mobile%20Developer/Tools.md#zeplin) 14 | 15 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 16 | * [ ] You know how to extract image assets from a design project 17 | * [ ] You know how to extract vector icon asset from a project 18 | 19 | ### [Invision](/Technical%20Stack/Mobile%20Developer/Tools.md#invision) 20 | 21 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 22 | * [ ] You know how to extract image assets from a design project 23 | * [ ] You know how to extract vector icon asset from a project 24 | 25 | ### [Adobe XD](/Technical%20Stack/Mobile%20Developer/Tools.md#adobe-xd) 26 | 27 | * [ ] You know how to extract style values (geometry, colours, fonts, etc.) from a design project 28 | * [ ] You know how to extract image assets from a design project 29 | * [ ] You know how to extract vector icon asset from a project 30 | 31 | * * * 32 | 33 | Contribution 34 | ------------ 35 | 36 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 37 | 38 | If you will spot any issues please add them in the **Issues** section. 39 | 40 | Credits 41 | ------- 42 | 43 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 44 | 45 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 46 | 47 | License 48 | ------- 49 | 50 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 51 | 52 | © 2020 Flairs Sp. z o.o. 53 | 54 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 55 | 56 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 57 | 58 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 59 | 60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Technical Stack/Mobile Developer/Versioning.md: -------------------------------------------------------------------------------- 1 | Versioning 2 | ========== 3 | 4 | [react-native-version](/Technical%20Stack/Mobile%20Developer/Versioning.md#react-native-version) 5 | ------------------------------------------------------------------------------------------------ 6 | 7 | * [ ] You know how to run script updating an app version and a build version 8 | 9 | * * * 10 | 11 | Contribution 12 | ------------ 13 | 14 | We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a **pull request** which will be later validated by our technical team and added to the main docs. 15 | 16 | If you will spot any issues please add them in the **Issues** section. 17 | 18 | Credits 19 | ------- 20 | 21 | This page is maintained by the 🔹 [Flairs.ai](http://Flairs.ai) and 🇵🇱 [Apptension](https://apptension.com) teams. 22 | 23 | If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [contact@flairs.ai](mailto:contact@flairs.ai) 24 | 25 | License 26 | ------- 27 | 28 | ![MIT License](https://img.shields.io/badge/License-MIT-blue.svg) 29 | 30 | © 2020 Flairs Sp. z o.o. 31 | 32 | Built and maintained by [Flairs](https://www.flairs.ai) and [Apptension](https://apptension.com). 33 | 34 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 35 | 36 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 37 | 38 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /images/course-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apptension/developer-handbook/e4e90ea4d1bfb61bd86675786de9dded47bc4d79/images/course-banner.png -------------------------------------------------------------------------------- /images/dev-handbook-schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apptension/developer-handbook/e4e90ea4d1bfb61bd86675786de9dded47bc4d79/images/dev-handbook-schema.png --------------------------------------------------------------------------------