MetricsWave is an open-source analytics and metrics tracking platform that helps teams monitor, visualize, and get notified about important business metrics in real-time.
- Track custom metrics with parameters and tags
- Record events with timestamps and metadata
- Support for incremental counters and custom scoring
- Historical data retention and aggregation
- Create custom dashboards with multiple visualizations
- Share public dashboards with stakeholders
- Real-time data updates and interactive charts
- Mobile-responsive design for on-the-go monitoring
- Set up intelligent triggers based on metric thresholds
- Multi-channel notifications (Telegram, Email, etc.)
- Custom trigger conditions and parameters
- Team-based notification management
- Multi-team support with role-based access control
- Share dashboards and metrics across teams
- Collaborative metric management
- User impersonation for support scenarios
- REST API for easy integration with any application
- Support for various data sources and services
- OAuth integration with popular platforms
- Webhook support for real-time data ingestion
- Simple HTTP API for metric recording
- Comprehensive documentation and examples
- Open-source with active community
- Built with modern technologies (Laravel + React)
- Track user engagement, conversion rates, and feature adoption
- Monitor performance metrics and API response times
- Analyze user behavior patterns and trends
- Monitor sales metrics, revenue, and growth indicators
- Track marketing campaign performance and ROI
- Create executive dashboards for strategic decision-making
- Track server performance, uptime, and resource usage
- Monitor application errors and performance bottlenecks
- Set up alerts for critical system events
- Monitor customer health scores and satisfaction metrics
- Track support ticket resolution times and SLA compliance
- Analyze customer retention and churn patterns
- Track order volumes, conversion rates, and cart abandonment
- Monitor inventory levels and product performance
- Analyze customer lifetime value and purchasing patterns
- PHP: 8.1 or higher
- Node.js: 16.x or higher
- Docker & Docker Compose: Latest version
- Git: For version control
-
Clone the repository
git clone https://github.com/your-org/metricswave.git cd metricswave/backend -
Install PHP dependencies
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ laravelsail/php82-composer:latest \ composer install --ignore-platform-reqs -
Start the development environment
-
Set up the application
# Copy environment file ./vendor/bin/sail artisan sail:publish cp .env.example .env # Generate application key ./vendor/bin/sail artisan key:generate # Run database migrations ./vendor/bin/sail artisan migrate # Install frontend dependencies ./vendor/bin/sail npm install # Build frontend assets ./vendor/bin/sail npm run dev -
Access the application
- Frontend: http://localhost
- API: http://localhost/api
- Admin Panel: http://localhost/admin
The project uses Laravel Sail for Docker-based development:
-
Run migrations
./vendor/bin/sail artisan migrate -
Seed the database (optional)
./vendor/bin/sail artisan db:seed -
Create a test user
./vendor/bin/sail artisan tinker # In tinker: User::factory()->create(['email' => '[email protected]']);
The frontend is built with React and uses Vite for development:
Key configuration options in .env:
For background job processing:
We welcome contributions from the community! Here's how you can contribute:
- Check existing issues to avoid duplicates
- Use the issue template and provide detailed information
- Include steps to reproduce the problem
- Add relevant labels and assign to appropriate milestone
- Open a new issue with the "enhancement" label
- Describe the feature and its use case
- Discuss the implementation approach
- Wait for maintainer approval before starting development
-
Fork the repository
git clone https://github.com/your-username/metricswave.git cd metricswave/backend -
Create a feature branch
git checkout -b feature/your-feature-name -
Set up development environment
# Follow the Quick Start guide above ./vendor/bin/sail up -d -
Make your changes
- Follow PSR-12 coding standards for PHP
- Use ESLint configuration for JavaScript/React
- Write tests for new functionality
- Update documentation as needed
-
Run quality checks
# PHP code style ./vendor/bin/sail composer pint # PHP static analysis ./vendor/bin/sail composer phpstan # Run tests ./vendor/bin/sail pest # Frontend linting ./vendor/bin/sail npm run lint -
Commit your changes
git add . git commit -m "feat: add new metrics visualization component" -
Push and create PR
git push origin feature/your-feature-nameThen create a Pull Request on GitHub.
- PHP: Follow PSR-12 standards, use Laravel conventions
- JavaScript/React: Use ESLint and Prettier configurations
- Database: Use descriptive migration names and proper indexing
- API: Follow RESTful conventions and proper HTTP status codes
Use conventional commits format:
- feat: for new features
- fix: for bug fixes
- docs: for documentation changes
- style: for code style changes
- refactor: for code refactoring
- test: for adding or updating tests
- Ensure all tests pass and code follows style guidelines
- Update documentation for any new features
- Add or update tests for your changes
- Request review from maintainers
- Address feedback and iterate until approved
This project is licensed under the MIT License with Commons Clause - see the LICENSE.md file for details.
The Commons Clause means you can use, modify, and distribute the software freely, but you cannot sell it as a hosted service or commercial product.
- Built with Laravel and React
- Powered by Statamic for content management
- Uses Filament for admin interface
- Notifications via Laravel Notification Channels
- 📚 Documentation: [Coming Soon]
- 💬 Community: GitHub Discussions
- 🐛 Issues: GitHub Issues
- 📧 Email: [email protected]
Made with ❤️ by the MetricsWave Team
.png)


