Project Structure โ
The ProxyHerd repository follows the NX mono-repository pattern.
It contains all the packages associated with the project.
Root structure โ
The root structure of the ProxyHerd repository is organized as follows:
text
proxyherd
|-- .husky | Commit hooks
|-- .idea | IntelliJ IDEA configuration
|-- packages | Source code of the project
|-- tools | Tools to generate monitor and generate traffic
|-- .editorconfig | Generic linting rules
|-- .gitignore | Git ignore rules
|-- .gitleaksignore | Gitleaks ignore rules to avoid commit secrets
|-- .lintstagedrc.js | Linting for Git staged files
|-- .stylelintrc.js | CSS/SCSS linting configuration
|-- commitlint.config.js | Linting for commit messages
|-- jest.config.ts | Jest root configuration
|-- jest.preset.js | Jest preset configuration
|-- LICENCE.md | MIT licence
|-- nx.json | NX configuration
|-- package.json | NPM configuration
|-- proxyherd.iml | IntelliJ project IDEA configuration
|-- tsconfig.base.json | Global Typescript configuration
|-- tsconfig-frontend.base.json | Global Typescript configuration for frontend, inherited from tsconfig.base.jsonThis structure provides an overview of the essential components and configurations in the ProxyHerd repository.
Packages structure โ
The packages folder in ProxyHerd's repository is structured as follows:
text
packages
|-- backend | Backend application
|-- app | Main application in NestJS
|-- sdk | Shared library between backend and tests
|-- test | End-to-end tests
|-- test-sdk | Shared library for tests
|-- charts | Helm charts
|-- common | Shared library for the whole project
|-- frontend | Frontend application
|-- app | Main Angular Application
|-- sdk | Shared library
|-- proxy | Proxy application for VM deployment (datacenter provider only)
|-- python-api | PyPI (for Python and Scrapy)
|-- website | ProxyHerd's websiteThis structure organizes ProxyHerd's codebase into different modules, each responsible for specific functionality, such as backend, frontend, and more.