PerfAnalytics is an open-source project aimed at measuring and analyzing performance metrics. It provides a comprehensive solution for gathering performance data, visualizing insights, and making informed optimizations. The project is built using NestJS for the backend, Kafka for data streaming, and Next.js for the client-side interface.
- Collects and analyzes performance metrics to identify bottlenecks and areas for optimization.
- Real-time data streaming through Kafka for seamless performance tracking.
- User-friendly dashboard powered by Next.js for visualizing performance insights.
- Easily extensible and customizable architecture to suit your specific needs.
Follow these steps to get PerfAnalytics up and running:
- Node.js (version 16 recommended)
- Yarn package manager
- Clone the PerfAnalytics repository:
git clone https://github.com/Trendyol/perfanalytics.git
- Navigate to the project directory:
cd perfanalytics
- Install backend dependencies:
cd backend
yarn install
- Install frontend dependencies:
cd ../client
yarn install
- Install lighthouse dependencies:
cd ../lighthouse
yarn install
-
Open the backend/.env file and configure any necessary environment variables, such as database connections or API keys.
-
Open the lightouse/.env file and configure any necessary environment variables, such as Kafka connection information.
-
Open the client/.env.local file and set any environment variables required for the frontend.
- Start the backend server:
cd backend
yarn start:dev
- Start the frontend server:
cd client
yarn dev
- Start the lighthouse server:
cd lighthouse
yarn start
The project includes a GitHub Actions workflow for continuous integration. The workflow includes the following jobs:
-
Pre-check: Checks for changes in the client and backend code and triggers corresponding jobs if changes are detected.
-
Client: Builds and deploys the client application.
-
Backend: Builds and deploys the backend application.
-
Lighthouse: Builds and deploys the lighthouse application.
We welcome contributions! If you'd like to contribute to PerfAnalytics.
This project is licensed under the MIT License.