- Frontend/Dashboard: The React JS frontend serves as the user interface for Pingucrew, providing a centralized location to view test reports, control tests, and monitor the health of the testing environment. The frontend is built using a modern web technology stack and is designed to be scalable and customizable.
- Server Backend: The server backend is built using Django API Server and is responsible for communicating with the frontend and the Pingu bots, managing the testing environment, and handling data storage. The backend is designed to be modular and extendable, allowing for easy integration with external services and the addition of new features.
- Bot: The Pingucrew bot is a custom-built automation framework that allows users to automate common testing tasks and workflows. The bot is built using Python and incorporates advanced features such as run fuzzing campaings, analyze testcases, triage testcases, etc.
- PostgreSQL with Timescale Plugin: The PostgreSQL database, enhanced with the Timescale plugin, is used to store test data and results. This setup provides a robust, scalable, and efficient solution for handling time-series data, making it ideal for tracking and analyzing test metrics over time.
- Minio Buckets Server: Minio is a highly scalable object storage solution that provides a drop-in replacement for bucket cloud services. It allows users to store and access large amounts of data, providing a robust and reliable storage solution.
- Rabbit MQ: RabbitMQ is a high-performance message queuing system that is used to manage the communication between different components in the Pingucrew system. It provides an efficient and scalable messaging platform that allows for the queueing and routing of messages between different parts of the testing environment.
- SDK: The Pingucrew SDK is a developer toolkit designed to simplify the integration of Pingucrew's features into external applications. It provides APIs and utilities for interacting with the Pingucrew platform, enabling developers to automate workflows, retrieve test results, and manage testing environments programmatically.
These components work together to provide a comprehensive fuzzing platform that incorporates advanced features and is designed to scale to meet the needs of any security team.