An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# ๐ŸŒŸ Plutus Cloud - FinOps Dashboard

Plutus Cloud Logo

**Cloud Cost Intelligence & Optimization Platform**

[![Next.js](https://img.shields.io/badge/Next.js-14.0-black?style=for-the-badge&logo=next.js)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.3-38bdf8?style=for-the-badge&logo=tailwind-css)](https://tailwindcss.com/)
[![Docker](https://img.shields.io/badge/Docker-Ready-2496ed?style=for-the-badge&logo=docker)](https://www.docker.com/)
[![Kubernetes](https://img.shields.io/badge/Kubernetes-Ready-326ce5?style=for-the-badge&logo=kubernetes)](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

![Architecture](./public/architecture.png)

---

## ๐Ÿš€ 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
![Dashboard Overview](./public/dashboard.png)

### Resource Management
![Resource Management](./public/resources.png)

### Resource Management
![Recommendations](./public/recommendations.png)

---

## ๐Ÿ”ง 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 |