Advanced
Scripters

πŸ“š Scripts Library Explained

This library contains a collection of scripts written in Python, Bash, and Ruby, designed to automate various tasks and streamline development processes. Let's explore each folder and its contents:

πŸ–ΌοΈ Avatar

β”œβ”€β”€ πŸ–ΌοΈ Avatar
β”‚   β”œβ”€β”€ πŸ—οΈ build
β”‚   β”œβ”€β”€ 🧹 clear
β”‚   β”œβ”€β”€ πŸ”„ update-port
β”‚   └── πŸ“€ upload

The avatar folder contains scripts related to user profile images and avatar management.

  • πŸ—οΈ build: Compiles and prepares avatar-related resources
  • 🧹 clear: Removes cached avatar data or temporary files
  • πŸ”„ update-port: Modifies port configurations for the avatar service
  • πŸ“€ upload: Handles the process of uploading user avatars to storage

πŸ–₯️ Backend

β”œβ”€β”€ πŸ–₯️ Backend
β”‚   β”œβ”€β”€ πŸ›‘ all-off
β”‚   β”œβ”€β”€ ▢️ all-on
β”‚   β”œβ”€β”€ πŸ—οΈ build
β”‚   β”œβ”€β”€ πŸ”Œ connect
β”‚   β”œβ”€β”€ πŸ†• create-service
β”‚   β”œβ”€β”€ πŸš€ deploy
β”‚   β”œβ”€β”€ πŸ”§ generate-env
β”‚   β”œβ”€β”€ πŸ—„οΈ para-store
β”‚   β”œβ”€β”€ πŸ“€ push
β”‚   β”œβ”€β”€ πŸ“ register
β”‚   β”œβ”€β”€ πŸ“¦ repo
β”‚   β”œβ”€β”€ πŸƒ run
β”‚   β”œβ”€β”€ πŸ›‘ service-off
β”‚   └── ▢️ service-on

This folder houses scripts for managing the backend services of the application.

  • πŸ›‘ all-off: Shuts down all backend services
  • ▢️ all-on: Starts up all backend services
  • πŸ—οΈ build: Compiles and prepares the backend application for deployment
  • πŸ”Œ connect: Establishes a connection to the backend environment
  • πŸ†• create-service: Generates a new backend service template
  • πŸš€ deploy: Handles the deployment of the backend to the production environment
  • πŸ”§ generate-env: Creates environment variable files for the backend
  • πŸ—„οΈ para-store: Manages operations related to the parameter store
  • πŸ“€ push: Pushes backend code changes to the version control repository
  • πŸ“ register: Registers new backend services with the system
  • πŸ“¦ repo: Performs repository-related tasks for the backend
  • πŸƒ run: Executes the backend application in a development environment
  • πŸ›‘ service-off: Stops a specific backend service
  • ▢️ service-on: Starts a specific backend service

☁️ CFN (CloudFormation)

β”œβ”€β”€ ☁️ CFN
β”‚   β”œβ”€β”€ πŸ”„ cicd
β”‚   β”œβ”€β”€ πŸ–§ cluster
β”‚   β”œβ”€β”€ πŸ—„οΈ db
β”‚   β”œβ”€β”€ πŸ“Š ddb
β”‚   β”œβ”€β”€ 🌐 frontend
β”‚   β”œβ”€β”€ πŸ”— networking
β”‚   └── πŸ› οΈ service

This directory contains CloudFormation templates and related scripts for various AWS resources.

  • πŸ”„ cicd: Manages CI/CD pipeline infrastructure
  • πŸ–§ cluster: Handles ECS cluster setup and configuration
  • πŸ—„οΈ db: Manages database infrastructure
  • πŸ“Š ddb: Deals with DynamoDB setup and management
  • 🌐 frontend: Manages frontend-related AWS resources
  • πŸ”— networking: Configures networking resources in AWS
  • πŸ› οΈ service: Handles various service-related CloudFormation tasks

πŸ” Cognito

β”œβ”€β”€ πŸ” Cognito
β”‚   └── πŸ“‹ list-users

Scripts related to AWS Cognito user management.

  • πŸ“‹ list-users: Retrieves and displays a list of Cognito users

πŸ—„οΈ DB (Database)

β”œβ”€β”€ πŸ—„οΈ DB
β”‚   β”œβ”€β”€ πŸ”Œ connect
β”‚   β”œβ”€β”€ πŸ†• create
β”‚   β”œβ”€β”€ πŸ—‘οΈ drop
β”‚   β”œβ”€β”€ πŸ›‘ kill-all
β”‚   β”œβ”€β”€ πŸ”„ migrate
β”‚   β”œβ”€β”€ βͺ rollback
β”‚   β”œβ”€β”€ πŸ“₯ schema-load
β”‚   β”œβ”€β”€ 🌱 seed
β”‚   β”œβ”€β”€ πŸ‘₯ sessions
β”‚   β”œβ”€β”€ πŸ—οΈ setup
β”‚   β”œβ”€β”€ πŸ§ͺ test
β”‚   └── πŸ”„ update_cognito_user_ids

This folder contains scripts for database management and operations.

  • πŸ”Œ connect: Establishes a connection to the database
  • πŸ†• create: Creates a new database
  • πŸ—‘οΈ drop: Deletes an existing database
  • πŸ›‘ kill-all: Terminates all active database connections
  • πŸ”„ migrate: Runs database migrations
  • βͺ rollback: Reverts recent database changes
  • πŸ“₯ schema-load: Loads the database schema
  • 🌱 seed: Populates the database with initial or test data
  • πŸ‘₯ sessions: Manages database sessions
  • πŸ—οΈ setup: Performs initial database setup
  • πŸ§ͺ test: Runs database-related tests
  • πŸ”„ update_cognito_user_ids: Updates Cognito user IDs in the database

πŸ“Š DDB (DynamoDB)

β”œβ”€β”€ πŸ“Š DDB
β”‚   β”œβ”€β”€ πŸ—‘οΈ drop
β”‚   β”œβ”€β”€ πŸ“‹ list-tables
β”‚   β”œβ”€β”€ πŸ” patterns
β”‚   β”‚   β”œβ”€β”€ πŸ—¨οΈ get-conversation
β”‚   β”‚   └── πŸ“œ list-conversation
β”‚   β”œβ”€β”€ πŸ”Ž scan
β”‚   β”œβ”€β”€ πŸ“₯ schema-load
β”‚   └── 🌱 seed

Scripts for managing and interacting with DynamoDB.

  • πŸ—‘οΈ drop: Deletes a DynamoDB table
  • πŸ“‹ list-tables: Displays all DynamoDB tables
  • πŸ” patterns: Contains scripts for common DynamoDB query patterns
    • πŸ—¨οΈ get-conversation: Retrieves a specific conversation
    • πŸ“œ list-conversation: Lists all conversations
  • πŸ”Ž scan: Performs a scan operation on a DynamoDB table
  • πŸ“₯ schema-load: Loads the schema for a DynamoDB table
  • 🌱 seed: Populates a DynamoDB table with initial data

🐳 Docker

β”œβ”€β”€ 🐳 Docker
β”‚   β”œβ”€β”€ πŸ—οΈ build
β”‚   β”‚   └── 🚫 not-real-path

Scripts related to Docker operations.

  • πŸ—οΈ build: Contains scripts for building Docker images
    • 🚫 not-real-path: Placeholder or example script

πŸ—οΈ ECR (Elastic Container Registry)

β”œβ”€β”€ πŸ—οΈ ECR
β”‚   β”œβ”€β”€ πŸ” sign-in
β”‚   └── πŸ“¦ repo

Scripts for managing Amazon ECR.

  • πŸ” sign-in: Authenticates with Amazon ECR
  • πŸ“¦ repo: Manages ECR repositories

🌐 Frontend

β”œβ”€β”€ 🌐 Frontend
β”‚   β”œβ”€β”€ πŸ—οΈ build
β”‚   β”œβ”€β”€ πŸ”Œ connect
β”‚   β”œβ”€β”€ πŸš€ deploy
β”‚   β”œβ”€β”€ πŸ”§ generate-env
β”‚   β”œβ”€β”€ πŸ“€ push
β”‚   β”œβ”€β”€ πŸ“ register
β”‚   β”œβ”€β”€ πŸ“¦ repo
β”‚   β”œβ”€β”€ πŸƒ run
β”‚   β”œβ”€β”€ πŸ›‘ service-off
β”‚   β”œβ”€β”€ ▢️ service-on
β”‚   β”œβ”€β”€ πŸ—οΈ static-build
β”‚   └── πŸ”„ sync

Scripts for managing the frontend application.

  • πŸ—οΈ build: Compiles and builds the frontend application
  • πŸ”Œ connect: Establishes a connection to the frontend environment
  • πŸš€ deploy: Deploys the frontend to production
  • πŸ”§ generate-env: Creates environment variable files for the frontend
  • πŸ“€ push: Pushes frontend code changes to the repository
  • πŸ“ register: Registers frontend services or components
  • πŸ“¦ repo: Manages the frontend repository
  • πŸƒ run: Executes the frontend application in a development environment
  • πŸ›‘ service-off: Stops frontend services
  • ▢️ service-on: Starts frontend services
  • πŸ—οΈ static-build: Generates a static build of the frontend
  • πŸ”„ sync: Synchronizes frontend files or data

πŸ”§ Generate

β”œβ”€β”€ πŸ”§ Generate
β”‚   └── πŸ†• migration

Scripts for generating various project components.

  • πŸ†• migration: Creates new database migration files

πŸ“¦ Lambda-layers

β”œβ”€β”€ πŸ“¦ Lambda-layers
β”‚   └── πŸ’Ž ruby-jwt

Scripts for managing AWS Lambda layers.

  • πŸ’Ž ruby-jwt: Handles the Ruby JWT Lambda layer

πŸ—ƒοΈ RDS (Relational Database Service)

β”œβ”€β”€ πŸ—ƒοΈ RDS
β”‚   └── πŸ”’ update-sg-rule

Scripts for managing AWS RDS.

  • πŸ”’ update-sg-rule: Updates security group rules for RDS

πŸ”¨ SAM (Serverless Application Model)

β”œβ”€β”€ πŸ”¨ SAM
β”‚   └── πŸ“Š ddb

Scripts related to AWS SAM.

  • πŸ“Š ddb: Manages DynamoDB resources using SAM

πŸ—οΈ TF (Terraform)

β”œβ”€β”€ πŸ—οΈ TF
β”‚   β”œβ”€β”€ πŸ”„ cicd
β”‚   β”œβ”€β”€ πŸ–§ cluster
β”‚   β”œβ”€β”€ πŸ“Š ddb
β”‚   β”œβ”€β”€ 🚒 fargate
β”‚   β”œβ”€β”€ πŸ”— network
β”‚   └── πŸ—ƒοΈ rds

Scripts for managing infrastructure using Terraform.

  • πŸ”„ cicd: Manages CI/CD infrastructure
  • πŸ–§ cluster: Handles cluster setup and configuration
  • πŸ“Š ddb: Manages DynamoDB resources
  • 🚒 fargate: Configures AWS Fargate resources
  • πŸ”— network: Sets up networking infrastructure
  • πŸ—ƒοΈ rds: Manages RDS resources

πŸ”§ Miscellaneous Scripts

β”œβ”€β”€ 🏁 bootstrap
β”œβ”€β”€ 🧰 busybox
β”œβ”€β”€ πŸ–§ clustermine
β”œβ”€β”€ πŸ”§ prepare
└── πŸ”§ wo-sed-ho
  • 🏁 bootstrap: Initializes the project or environment
  • 🧰 busybox: Utility script for various small tools
  • πŸ–§ clustermine: Manages clustering operations
  • πŸ”§ prepare: Prepares the environment for deployment or development
  • πŸ”§ wo-sed-ho: Custom utility script (purpose not clear from the name)

This comprehensive set of scripts provides automation and management capabilities for various aspects of the project, from local development to cloud deployment and infrastructure management.