diff --git a/README.md b/README.md index 64fbf6018..f7597113c 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ This is a curated list of all the Open Source examples and projects we have at [ - [Apps and Boilerplates](#apps-and-boilerplates) - [Node Packages](#node-packages) - [Examples](#examples) - - [Frontend](#frontend) - [Website Optimization and Performance](#website-optimization-and-performance) - [React State Management](#react-state-management) @@ -59,20 +58,22 @@ This is a curated list of all the Open Source examples and projects we have at [ - [ThirdParty Integrations](#thirdparty-integrations) - [Stripe](#stripe) - [Microservices](#microservices) +- [Guides, Tutorials and Best Practices](#guides-tutorials-and-best-practices) - [Contributing](#contributing) ## Apps and Boilerplates -| Name | Description | Keywords | -| ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [Automation Seed](https://github.com/nanlabs/automation-seed) | Automation Seed is a e2e automation framework built on top of WebdriverIO v7 and Selenium that uses Selenoid for execution | _Automation_, _Selenium_, _WebdriverIO_, _Selenoid_, _Allure_, _Typescript_, _GitHub Actions_, _GitHub Pages_ | -| [AWS Glue ETL Boilerplate](https://github.com/nanlabs/aws-glue-etl-boilerplate) | A complete example of an AWS Glue ETL job that uses the [Serverless Framework](https://www.serverless.com/) to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. | _Python_, _AWS_, _Glue_, _ETL_, _Serverless_, _DevContainers_, _Docker Compose_ | -| [Basic AWS Glue ETL example app](https://github.com/nanlabs/devops-reference/tree/main/examples/serverless-glue-full-boilerplate/) | A basic but useful example of an AWS Glue application that uses the [Serverless Framework](https://www.serverless.com/) to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. | _Python_, _AWS_, _Glue_, _ETL_, _Serverless_, _DevContainers_, _Docker Compose_ | -| [Golang REST API boilerplate](https://github.com/nanlabs/nancy.go/tree/main/examples/golang-todo-rest-crud/) | REST API to create, update and retrieve Entities, including graceful shutdown, rate limiting, structured logging, unit tests, integration tests, environment variables, health check and API documentation with swagger. Technologies: Golang 1.19, MongoDB (with Docker Compose), Gorilla Mux, Go Swagger, Tollbooth (rate limiting), Zap (logging), Viper, Mockery, Makefile, Pre-commit, and DockerTest (integration tests). | _Golang_, _REST API_, _MongoDB_, _Gorilla Mux_, _Go Swagger_, _Tollbooth_, _Zap_, _Viper_, _Mockery_, _Makefile_, _Pre-commit_, _Docker_, _Docker Compose_, _DockerTest_ | -| [React Boilerplate](https://github.com/nanlabs/react-boilerplate) | A simple but powerful boilerplate to start a React project powered by Vite. Boilerplate generated using [create-awesome-node-app](https://www.npmjs.com/package/create-awesome-node-app) contains full CI/CD setup with GitHub Actions and Docker. It also contains a full local development setup with hot reload and production ready setup with minification and optimization. It also contains a full test setup with Jest and React Testing Library. | _React_ | -| [Storybook Playground](https://github.com/nanlabs/nancy.js/tree/main/apps/playground/) | This app was created with the goal to have examples of ours React components, hooks and libraries that are created in different packages in the repository Nancy.js. | _React_, _Storybook_, _Nancy.js_ | -| [TypeScript Monorepo Boilerplate](https://github.com/nanlabs/ts-monorepo-boilerplate) | A simple but powerful boilerplate to start a TypeScript monorepo project powered Turborepo. | _TypeScript_, _Turborepo_, _Monorepo_, _Boilerplate_, _React_, _NPM Workspaces_, _Changesets_, _ESLint_, _Prettier_, _Jest_, _Nest.js_, _Storybook_ | +| Name | Description | Keywords | +| ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Automation Seed](https://github.com/nanlabs/automation-seed) | Automation Seed is a e2e automation framework built on top of WebdriverIO v7 and Selenium that uses Selenoid for execution | _Automation_, _Selenium_, _WebdriverIO_, _Selenoid_, _Allure_, _Typescript_, _GitHub Actions_, _GitHub Pages_ | +| [AWS Glue ETL Boilerplate](https://github.com/nanlabs/aws-glue-etl-boilerplate) | A complete example of an AWS Glue ETL job that uses the [Serverless Framework](https://www.serverless.com/) to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. | _Python_, _AWS_, _Glue_, _ETL_, _Serverless_, _DevContainers_, _Docker Compose_ | +| [Basic AWS Glue ETL example app](https://github.com/nanlabs/devops-reference/tree/main/examples/serverless-glue-full-boilerplate/) | A basic but useful example of an AWS Glue application that uses the [Serverless Framework](https://www.serverless.com/) to deploy the infrastructure and DevContainers and/or Docker Compose to run the application locally with AWS Glue Libs, Spark, Jupyter Notebook, AWS CLI, among other tools. It provides jobs using Python Shell and PySpark. | _Python_, _AWS_, _Glue_, _ETL_, _Serverless_, _DevContainers_, _Docker Compose_ | +| [Golang REST API boilerplate](https://github.com/nanlabs/nancy.go/tree/main/examples/golang-todo-rest-crud/) | REST API to create, update and retrieve Entities, including graceful shutdown, rate limiting, structured logging, unit tests, integration tests, environment variables, health check and API documentation with swagger. Technologies: Golang 1.19, MongoDB (with Docker Compose), Gorilla Mux, Go Swagger, Tollbooth (rate limiting), Zap (logging), Viper, Mockery, Makefile, Pre-commit, and DockerTest (integration tests). | _Golang_, _REST API_, _MongoDB_, _Gorilla Mux_, _Go Swagger_, _Tollbooth_, _Zap_, _Viper_, _Mockery_, _Makefile_, _Pre-commit_, _Docker_, _Docker Compose_, _DockerTest_ | +| [React Boilerplate](https://github.com/nanlabs/react-boilerplate) | A simple but powerful boilerplate to start a React project powered by Vite. Boilerplate generated using [create-awesome-node-app](https://www.npmjs.com/package/create-awesome-node-app) contains full CI/CD setup with GitHub Actions and Docker. It also contains a full local development setup with hot reload and production ready setup with minification and optimization. It also contains a full test setup with Jest and React Testing Library. | _React_ | +| [Storybook Playground](https://github.com/nanlabs/nancy.js/tree/main/apps/playground/) | This app was created with the goal to have examples of ours React components, hooks and libraries that are created in different packages in the repository Nancy.js. | _React_, _Storybook_, _Nancy.js_ | +| [Terraform AWS Starter](https://github.com/nanlabs/terraform-aws-starter) | Get started quickly with AWS infrastructure using a robust Terraform starter kit incorporating secure state management, VPC configuration, security groups, RDS provisioning, secrets management, SSM parameter store, and GitHub Actions integration! | _Terraform_, _Terraform Modules_, _Infrastructure as Code_, _AWS_, _VPC_, _RDS_, _RDS Aurora_, _MongoDB_, _GitHub Actions_, _SSM Parameter Store_, _Secrets Management_, _Security Groups_, _Super Linter_ | +| [TypeScript Monorepo Boilerplate](https://github.com/nanlabs/ts-monorepo-boilerplate) | A simple but powerful boilerplate to start a TypeScript monorepo project powered Turborepo. | _TypeScript_, _Turborepo_, _Monorepo_, _Boilerplate_, _React_, _NPM Workspaces_, _Changesets_, _ESLint_, _Prettier_, _Jest_, _Nest.js_, _Storybook_ | ## Node Packages @@ -166,7 +167,7 @@ This is a curated list of all the Open Source examples and projects we have at [ | Name | Description | Keywords | | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | | [AWS CloudWatch Evidently](https://github.com/nanlabs/devops-reference/tree/main/examples/aws-cloudwatch-evidently/) | A complete analysis of the service and a Proof of Concept on how to integrate it with a Node.js application. | _Node.js_, _AWS_, _CloudWatch_, _CloudWatch Evidently_, _A/B Testing_, _Feature Flags_ | -| [Feature flags post](https://www.atlassian.com/continuous-delivery/principles/feature-flags) | How to progressively expose your features with feature flags by IAN BUCHANNAN. | _Feature Flags_ | +| [Feature flags post by Atlassian](https://www.atlassian.com/continuous-delivery/principles/feature-flags) | How to progressively expose your features with feature flags by IAN BUCHANNAN. | _Feature Flags_ | #### Shell Scripting and CLI Tools @@ -262,14 +263,15 @@ This is a curated list of all the Open Source examples and projects we have at [ ##### Terraform -| Name | Description | Keywords | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -| [Terraform AWS Minecraft Server](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-aws-minecraft-server/) | Terraform example to deploy a Minecraft server in AWS EC2 instance using Docker. | _Terraform_, _AWS_, _Minecraft_, _Docker_, _EC2_ | -| [Terraform AWS RDS Postgres instance](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/rds) | Terraform module for creating AWS RDS Postgres instance. | _Terraform_, _AWS_, _RDS_ | -| [Terraform AWS VPC resources](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/vpc) | Terraform module for creating AWS VPC resources. | _Terraform_, _AWS_, _VPC_ | -| [Terraform Bastion Host](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/bastion) | Terraform module which creates an EC2 instance acting as a bastion host | _Terraform_, _AWS_, _Bastion_ | -| [Terraform Starter Kit for AWS VPC, RDS instance, and Bastion Host](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter) | Terraform Starter kit for creating AWS infrastructure using Terraform that contains a VPC, RDS instance, and a bastion host. | _Terraform_, _AWS_, _VPC_, _RDS_, _Bastion_ | -| [Using Serverless Framework with Terraform](https://github.com/nanlabs/devops-reference/tree/main/examples/serverless-terraform-example) | The definitive example of how to use Terraform and Serverless Framework together. | _Serverless Framework_, _Terraform_, _AWS_ | +| Name | Description | Keywords | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Terraform AWS Minecraft Server](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-aws-minecraft-server/) | Terraform example to deploy a Minecraft server in AWS EC2 instance using Docker. | _Terraform_, _AWS_, _Minecraft_, _Docker_, _EC2_ | +| [Terraform AWS RDS Postgres instance](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/rds) | Terraform module for creating AWS RDS Postgres instance. | _Terraform_, _AWS_, _RDS_ | +| [Terraform AWS Starter](https://github.com/nanlabs/terraform-aws-starter) | Get started quickly with AWS infrastructure using a robust Terraform starter kit incorporating secure state management, VPC configuration, security groups, RDS provisioning, secrets management, SSM parameter store, and GitHub Actions integration! | _Terraform_, _Terraform Modules_, _Infrastructure as Code_, _AWS_, _VPC_, _RDS_, _RDS Aurora_, _MongoDB_, _GitHub Actions_, _SSM Parameter Store_, _Secrets Management_, _Security Groups_, _Super Linter_ | +| [Terraform AWS VPC resources](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/vpc) | Terraform module for creating AWS VPC resources. | _Terraform_, _AWS_, _VPC_ | +| [Terraform Bastion Host](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter/modules/bastion) | Terraform module which creates an EC2 instance acting as a bastion host | _Terraform_, _AWS_, _Bastion_ | +| [Terraform Starter Kit for AWS VPC, RDS instance, and Bastion Host](https://github.com/nanlabs/devops-reference/tree/main/examples/terraform-vpc-rds-instance-bastion-starter) | Terraform Starter kit for creating AWS infrastructure using Terraform that contains a VPC, RDS instance, and a bastion host. | _Terraform_, _AWS_, _VPC_, _RDS_, _Bastion_ | +| [Using Serverless Framework with Terraform](https://github.com/nanlabs/devops-reference/tree/main/examples/serverless-terraform-example) | The definitive example of how to use Terraform and Serverless Framework together. | _Serverless Framework_, _Terraform_, _AWS_ | #### Infrastructure from Code @@ -316,6 +318,18 @@ This is a curated list of all the Open Source examples and projects we have at [ | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | [NestJS REST-based Microservices with NATS](https://github.com/nanlabs/backend-reference/tree/main/examples/nest-nats-microservices/) | This project demonstrates the implementation of a microservices architecture using NestJS, a progressive Node.js framework, along with NATS for asynchronous event-based as well as synchronous request-reply messaging patterns. | _Microservices_, _Node.js_, _NestJS_, _NATS_, _REST_, _Messaging Patterns_, _Proof of Concept_ | +## Guides, Tutorials and Best Practices + +| Name | Description | Keywords | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| [Automate Pull Requests Reviews using Danger](https://github.com/nanlabs/devops-reference/tree/main/.github/workflows/pr-review.yml) | This workflow automates the initial review of Pull Requests using [Danger.js](https://danger.systems/js/). This provides another logical step in your build, through this Danger can help lint your rote tasks in daily code review. You can use Danger to codify your teams norms. Leaving humans to think about harder problems. | _GitHub Actions_, _Danger.js_ | +| [Exploring DevContainers: A Versatile Development Environment Solution](https://github.com/nanlabs/devops-reference/tree/main/examples/devcontainers-intro/) | Introduction to Development Containers (DevContainers), a solution to create development environments with a unique approach to address specific development environment needs | _DevContainer_, _VSCode DevContainer_, _GitHub Codespaces_, _Docker_, _Docker Compose_ | +| [Feature flags post by Atlassian](https://www.atlassian.com/continuous-delivery/principles/feature-flags) | How to progressively expose your features with feature flags by IAN BUCHANNAN. | _Feature Flags_ | +| [Tilt + Minikube Development Environment](https://github.com/nanlabs/devops-reference/tree/main/examples/kubernetes-tilt-dev/) | Seamless, efficient, and developer-friendly Kubernetes development environment using Tilt and Minikube. | _Kubernetes_, _Tilt_, _Minikube_, _Development Environment_, _MicroServices_ | +| [TODOs to GitHub Issues](https://github.com/nanlabs/devops-reference/tree/main/examples/github-actions-todo-to-issue/) | This tutorial shows how to create a GitHub Action that converts TODO comments into GitHub issues. | _GitHub Actions_, _TODOs_, _Issues_ | +| [Using Serverless Framework with Terraform](https://github.com/nanlabs/devops-reference/tree/main/examples/serverless-terraform-example) | The definitive example of how to use Terraform and Serverless Framework together. | _Serverless Framework_, _Terraform_, _AWS_ | +| [When to use Shell Scripts](https://google.github.io/styleguide/shellguide.html#when-to-use-shell) | A guide from Google on when to use shell scripts. | _Shell Scripting_, _Utilities_ | + ## Contributing - Contributions make the open source community such an amazing place to learn, inspire, and create.