https://github.com/niv-devops/finops
Financial Operations - Cloud Cost Dashboard & Kubernetes Resources Analyzation
https://github.com/niv-devops/finops
Last synced: 11 months ago
JSON representation
Financial Operations - Cloud Cost Dashboard & Kubernetes Resources Analyzation
- Host: GitHub
- URL: https://github.com/niv-devops/finops
- Owner: niv-devops
- License: gpl-3.0
- Created: 2025-02-05T12:37:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T15:02:03.000Z (over 1 year ago)
- Last Synced: 2025-02-12T16:22:12.043Z (over 1 year ago)
- Language: JavaScript
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Plutus Cloud - FinOps Dashboard

**Cloud Cost Intelligence & Optimization Platform**
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://www.docker.com/)
[](https://kubernetes.io/)
[๐ Live Demo](#) โข [๐ Documentation](#documentation) โข [๐ Report Bug](#issues) โข [๐ก Request Feature](#issues)
---
## โจ Overview
Plutus Cloud is a **FinOps platform** that provides comprehensive cloud cost management and optimization across AWS and GCP,
delivering real-time insights into your cloud spending with actionable recommendations.
### ๐ฏ Key Features
- ๐ **Multi-Cloud Cost Analysis** - Unified view of AWS and GCP spending
- ๐ **Interactive Dashboards** - Responsive charts and visualizations
- ๐ก **AI-Powered Recommendations** - Smart cost optimization suggestions
- ๐๏ธ **Resource Management** - Complete inventory with utilization tracking
- ๐จ **Budget Alerts** - Proactive spending notifications
- ๐ **Trend Analysis** - Historical cost patterns and forecasting
- ๐ฑ **Mobile Responsive** - Perfect experience on all devices
---
## ๐ Project Structure
```
FinOps
โโโ ๐ app/ # Next.js App Router
โ โโโ globals.css # Global styles & animations
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Home page
โโโ ๐ components/ # React components
โ โโโ ui/ # shadcn/ui components
โ โโโ finops-dashboard.tsx # Main dashboard component
โโโ ๐ helm/ # Kubernetes Helm charts
โ โโโ finops-dashboard/ # Helm chart files
โโโ ๐ scripts/ # Deployment scripts
โ โโโ deploy.sh # Automated deployment
โโโ ๐ณ Dockerfile # Container definition
โโโ โ๏ธ next.config.mjs # Next.js configuration
โโโ ๐ฆ package.json # Dependencies & scripts
```
---
## ๐๏ธ Architecture

---
## ๐ Quick Start
### Prerequisites
- **Node.js** 18+
- **npm** or **yarn**
- **Docker**
- **Kubernetes**
### 1. Clone the repository
```sh
git clone https://github.com/niv-devops/FinOps.git
cd FinOps
```
### 2. Install dependencies
`npm install` or `yarn install`
### 3. Start development server
`npm run dev` or `yarn dev`
### 4. Enter UI: http://localhost:3000
## ๐ณ Docker Deployment
### 1. Build the image
`docker build -t finops-platform .`
#### 2. Run the container
```sh
docker run -p 3000:3000 finops-platform
# Or use docker-compose
docker-compose up -d
```
## โ Kubernetes Deployment
```sh
# Deploy with Helm
helm install finops-platform ./helm/finops-platfrom
# Or use the deployment script
./scripts/deploy.sh
```
---
## ๐ ๏ธ Technology Stack
### Frontend
- **Next.js 14** - React framework with App Router
- **TypeScript** - Type-safe JavaScript
- **Tailwind CSS** - Utility-first CSS framework
- **Radix UI** - Accessible component primitives
- **Lucide React** - Beautiful icon library
### Infrastructure
- **Docker** - Containerized deployment
- **Kubernetes** - Container orchestration
- **Helm** - Package manager for Kubernetes
- **Multi-stage builds** - Optimized container images
---
## ๐ผ๏ธ Screenshots
### Dashboard Overview

### Resource Management

### Resource Management

---
## ๐ง Configuration
### Environment Variables
Create a `.env` file for local development:
```sh
# API Configuration
NEXT_PUBLIC_API_URL=https://api.your-domain.com
NEXT_PUBLIC_ENABLE_ANALYTICS=false
# Cloud Provider APIs
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
GCP_SERVICE_ACCOUNT_KEY=your_gcp_service_account
# Database (Optional)
DATABASE_URL=postgresql://user:password@localhost:5432/finops
# Monitoring
NEXT_PUBLIC_SENTRY_DSN=your_sentry_dsn
```
### Helm Values
Customize deployment in `helm/finops-platfrom/values.yaml`:
```yaml
# Resource limits
resources:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 500m
memory: 512Mi
# Scaling
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
# Ingress
ingress:
enabled: true
hosts:
- host: finops.your-domain.com
```
---
## ๐ Deployment Guide
### Deploy with Helm
```sh
helm install finops-platform ./helm/finops-platform \
--set image.repository=your-registry/finops-platform \
--set ingress.hosts[0].host=finops.your-domain.com
```
### Automated Script
Configure registry and run `scripts/deploy.sh`
---
## ๐ Features Deep Dive
### ๐ฐ Cost Management
- **Multi-cloud visibility** across AWS and GCP
- **Real-time cost tracking** with trend analysis
- **Budget management** with customizable alerts
- **Cost allocation** by teams, projects, and services
### ๐ฏ Optimization Engine
- **AI-powered recommendations** for cost savings
- **Resource right-sizing** suggestions
- **Unused resource detection** and cleanup
- **Reserved instance optimization**
### ๐ Analytics & Reporting
- **Interactive dashboards** with drill-down capabilities
- **Custom date ranges** and filtering
- **Export functionality** for reports
- **Historical trend analysis**
### ๐ Resource Management
- **Complete inventory** of cloud resources
- **Utilization monitoring** and alerts
- **Performance metrics** integration
- **Lifecycle management** recommendations
---
## ๐งช Testing
| **Type** | **Command** | **Description** |
|-----------------------|----------------------|--------------------------------------|
| ๐งฉ Unit Tests | `npm run test` | Runs unit tests |
| ๐งช End-to-End Tests | `npm run test:e2e` | Runs E2E integration tests |
| ๐ Performance Tests | `npm run lighthouse` | Runs Lighthouse performance analysis |