Skip to content

Latest commit

 

History

History
83 lines (55 loc) · 3.28 KB

File metadata and controls

83 lines (55 loc) · 3.28 KB

Contributing to ZSecTools

First off, thank you for considering contributing to ZSecTools! Contributions from the community help make this SAP Security & Governance tool better for everyone.

Please take a moment to review these guidelines before submitting code, issue reports, or documentation updates.


Code of Conduct

By participating in this project, you agree to maintain a respectful, welcoming, and professional environment for all contributors.


How Can I Contribute?

1. Reporting Bugs

Before creating a bug report, please check existing issues to ensure it hasn't already been reported.

When creating a bug report, please use the Bug Report template and include:

  • A clear and descriptive title.
  • Steps to reproduce the issue.
  • Expected vs. actual behavior.
  • Environment details (Node.js version, PostgreSQL version, browser).

2. Suggesting Enhancements

Feature requests are welcome! Please open an issue using the Feature Request template to discuss your ideas before implementing major changes.

3. Pull Requests (PRs)

  1. Fork the Repository: Create your own fork of the project.
  2. Create a Feature Branch:
   git checkout -b feature/my-new-feature
   # or
   git checkout -b fix/my-bug-fix
  1. Make Your Changes: Follow existing code style patterns (Node.js/Express for backend, React/Vite for frontend).
  2. Test Thoroughly: Ensure your changes do not break existing SAP database queries or UI components.
  3. Commit Your Changes: Write clear, descriptive commit messages (e.g., feat: add RFC ping to SAP realms or fix: resolve SQL pagination in SOD results).
  4. Push to GitHub:
git push origin feature/my-new-feature
  1. Open a Pull Request: Submit your PR against the main branch with a concise description of the changes.

Development Setup

  1. Clone the Repository:
git clone [https://github.com/va87git/zsectools.git](https://github.com/va87git/zsectools.git)
cd zsectools
  1. Setup Instructions: Follow the detailed installation and environment configuration steps provided in the main README.md.

Important Note on Dependencies: If your pull request or feature implementation introduces any new npm packages or external libraries, you must explicitly state them in your Pull Request description and update package.json accordingly.


Coding Standards

  • JavaScript / React: Keep components clean and modular. Use functional React components and standard hooks.
  • SQL Queries: Ensure parameterized queries are used with pg to prevent SQL injection risks.
  • SAP Naming Conventions: Keep standard SAP naming conventions in mind during development (e.g., authorization objects, tables, and transaction codes like S_SERVICE, AGR_USERS, S_TCODE).
  • Database Naming Conventions:
    • Imported SAP raw tables follow the pattern sap_raw_[realm]_[table_name].
    • Automated background processing tables (such as those generated by "Build additional infos") follow the pattern yr_[realm]_[short_desc].
    • Heavy-data processing features (such as SOD Analysis) use cross-realm tables to prevent data duplication. Maintain this architecture for new data-intensive features to avoid bloating the database.

Thank you for helping build ZSecTools!