diff --git a/devops/README.md b/devops/README.md index e69de29b..f8950382 100644 --- a/devops/README.md +++ b/devops/README.md @@ -0,0 +1,75 @@ +# Protevus Platform DevOps + +This directory contains Docker and Kubernetes configurations for the Protevus Platform. It is organized to support our containerization and orchestration needs across different environments. + +## Directory Structure + +``` +devops/ +├── docker/ +│ ├── Dockerfile +│ ├── docker-compose.yml +│ └── .dockerignore +├── kubernetes/ +│ ├── deployment.yaml +│ ├── service.yaml +│ ├── ingress.yaml +│ └── configmap.yaml +├── scripts/ +│ ├── docker-build.sh +│ ├── docker-push.sh +│ ├── k8s-deploy.sh +│ └── k8s-rollback.sh +└── README.md +``` + +### docker/ + +This directory contains Docker-related files for building and running the Protevus Platform in containers. + +- `Dockerfile`: Defines the container image for the Protevus Platform. +- `docker-compose.yml`: Configures multi-container Docker applications for local development. +- `.dockerignore`: Specifies which files and directories should be excluded when building Docker images. + +### kubernetes/ + +The kubernetes/ directory houses Kubernetes manifests for deploying and managing the Protevus Platform in a Kubernetes cluster. + +- `deployment.yaml`: Defines the deployment configuration for the Protevus Platform. +- `service.yaml`: Specifies the service configuration for exposing the platform. +- `ingress.yaml`: Configures ingress rules for routing external traffic to the service. +- `configmap.yaml`: Stores configuration data that can be consumed by pods. + +### scripts/ + +This directory contains utility scripts for Docker and Kubernetes operations. + +- `docker-build.sh`: Script for building Docker images. +- `docker-push.sh`: Script for pushing Docker images to a registry. +- `k8s-deploy.sh`: Script for deploying the application to a Kubernetes cluster. +- `k8s-rollback.sh`: Script for rolling back a Kubernetes deployment. + +## Usage Guidelines + +1. Use the provided scripts in the `scripts/` directory for common Docker and Kubernetes operations. +2. Ensure all configuration files are properly parameterized for different environments (dev, staging, production). +3. Keep sensitive information (like passwords and API keys) out of these files and use Kubernetes secrets instead. +4. Regularly update and test these configurations as the Protevus Platform evolves. + +## Deployment Process + +1. Build the Docker image using `scripts/docker-build.sh`. +2. Push the image to the container registry with `scripts/docker-push.sh`. +3. Deploy to Kubernetes using `scripts/k8s-deploy.sh`. +4. If needed, rollback the deployment using `scripts/k8s-rollback.sh`. + +## Contributing + +When contributing to the DevOps configurations: + +1. Test all changes thoroughly in a non-production environment before applying to production. +2. Document any new scripts or significant changes to existing configurations. +3. Follow Kubernetes and Docker best practices for security and efficiency. +4. Submit a pull request with a clear description of the changes and their purpose. + +For any questions or suggestions regarding the DevOps setup, please contact the Protevus Platform infrastructure team. \ No newline at end of file diff --git a/resources/.gitkeep b/devops/scripts/.gitkeep similarity index 100% rename from resources/.gitkeep rename to devops/scripts/.gitkeep diff --git a/helpers/README.md b/helpers/README.md new file mode 100644 index 00000000..99f00890 --- /dev/null +++ b/helpers/README.md @@ -0,0 +1,68 @@ + +# Protevus Platform Helpers + +This directory contains various helper functionalities, tools, and utilities for the Protevus Platform. It is organized into subdirectories to maintain a clear structure and separation of concerns. + +## Directory Structure + +``` +helpers/ +├── cli/ +├── console/ +├── tools/ +└── utilities/ +``` + +### cli/ + +This directory contains command-line interface tools and scripts specific to the Protevus Platform. These are typically used for development, deployment, or maintenance tasks that are run directly from the command line. + +Examples: +- Database migration scripts +- Code generation tools +- Deployment scripts + +### console/ + +The console/ directory houses console commands and utilities, similar to Laravel's Artisan commands. These are interactive tools that provide a user-friendly interface for various platform operations. + +Examples: +- REPL (Read-Eval-Print Loop) for the Protevus Platform +- Interactive configuration tools +- Database seeding commands + +### tools/ + +This directory is for larger, more complex helper applications or scripts used in development, testing, or deployment of the Protevus Platform. These tools often combine multiple functionalities or interact with external services. + +Examples: +- Automated testing suites +- Performance profiling tools +- Documentation generators + +### utilities/ + +The utilities/ directory contains general-purpose utility functions and smaller helper scripts. These are typically reusable across different parts of the platform and provide common functionality. + +Examples: +- String manipulation functions +- Date and time helpers +- File system operations + +## Usage Guidelines + +1. Place new helpers in the appropriate subdirectory based on their purpose and complexity. +2. Maintain consistency in naming conventions and file structures within each subdirectory. +3. Document each helper, tool, or utility with clear comments and usage examples. +4. Update this README when adding new significant helpers or changing the structure. + +## Contributing + +When contributing new helpers: + +1. Ensure your code follows the Protevus Platform coding standards. +2. Write tests for your helpers when applicable. +3. Update or create documentation for new functionalities. +4. Submit a pull request with a clear description of the new helper and its purpose. + +For any questions or suggestions regarding the helpers structure, please contact the Protevus Platform core development team. \ No newline at end of file diff --git a/tools/.gitkeep b/helpers/tools/.gitkeep similarity index 100% rename from tools/.gitkeep rename to helpers/tools/.gitkeep diff --git a/utils/.gitkeep b/helpers/utils/.gitkeep similarity index 100% rename from utils/.gitkeep rename to helpers/utils/.gitkeep diff --git a/resources/README.md b/resources/README.md new file mode 100644 index 00000000..4d80d57a --- /dev/null +++ b/resources/README.md @@ -0,0 +1,72 @@ +# Protevus Platform Resources + +This directory contains various static resources used throughout the Protevus Platform. These resources include images, icons, and other assets that contribute to the platform's visual and functional elements. + +## Directory Structure + +``` +resources/ +├── images/ +│ ├── logos/ +│ ├── backgrounds/ +│ └── icons/ +├── fonts/ +├── locales/ +└── templates/ +``` + +### images/ + +This directory contains all image assets used in the Protevus Platform. + +- `logos/`: Contains logo variations for the platform and potentially partner logos. +- `backgrounds/`: Includes background images used in the UI. +- `icons/`: Houses individual icon files used throughout the platform. + +### fonts/ + +The fonts/ directory contains custom font files used in the Protevus Platform UI. This ensures consistent typography across different environments. + +### locales/ + +This directory contains localization files for internationalization (i18n) support. Each supported language should have its own subdirectory or file. + +### templates/ + +The templates/ directory houses reusable UI templates or snippets that can be used across different parts of the platform. + +## Usage Guidelines + +1. Maintain a consistent naming convention for all resources (e.g., kebab-case for image files). +2. Optimize images for web use to ensure fast loading times. +3. Use SVG format for icons and logos where possible for better scalability. +4. Keep font files in web-friendly formats (e.g., WOFF2, WOFF). +5. Organize localization files in a structured manner, using standard formats like JSON or YAML. + +## Adding New Resources + +When adding new resources: + +1. Place the resource in the appropriate subdirectory. +2. Ensure the resource doesn't duplicate existing ones. +3. For images and icons, provide both regular and high-DPI (@2x, @3x) versions if applicable. +4. Update any relevant asset manifests or indexes. + +## Updating Existing Resources + +When updating resources: + +1. Maintain backwards compatibility where possible. +2. Update all relevant sizes/versions of the resource. +3. If replacing a resource, ensure it's not being used elsewhere in the platform before removing the old version. + +## Contributing + +When contributing new resources: + +1. Ensure all assets are properly licensed for use in the Protevus Platform. +2. Optimize assets for web use before committing. +3. Update documentation if adding new types of resources or changing existing structures. +4. Submit a pull request with a clear description of the new or updated resources. + +For any questions or suggestions regarding the resources, please contact the Protevus Platform design team. \ No newline at end of file