Skip to content

adarsh0011/NimbusX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Java Spring Boot React GSSoC

NimbusX

Simulate. Scale. Optimize.

NimbusX is a cloud resource optimization and auto-scaling simulator designed to mimic real-world cloud infrastructure behavior. It enables users to monitor system metrics, simulate dynamic workloads, and apply intelligent scaling strategies to optimize performance and cost.

Built using Java (Spring Boot) and React, NimbusX helps developers understand how modern cloud platforms handle auto-scaling, resource allocation, and cost optimization.


Features

  • πŸ“Š Real-time CPU and memory monitoring (simulated workloads)
  • βš™οΈ Intelligent auto-scaling based on dynamic thresholds
  • πŸ’° Cost optimization engine with resource usage insights
  • πŸ“ˆ Interactive dashboard with live metrics visualization
  • πŸ•’ Historical data tracking and performance analysis
  • 🧩 Modular architecture for open-source contributions

Tech Stack

Backend

  • Java (Spring Boot)
  • Spring Web, Spring Data JPA
  • Spring Scheduler
  • WebSockets (STOMP)

Frontend

  • React (Vite)
  • Chart.js / Recharts

Database

  • PostgreSQL

Optional

  • Docker (for service simulation)
  • Deployment: Render / Vercel / Supabase

Project Architecture

Frontend (React Dashboard)
        ↓
Spring Boot Backend
        ↓
---------------------------------
| Metrics Engine (Simulation)   |
| Auto Scaling Engine           |
| Cost Optimization Engine      |
---------------------------------
        ↓
PostgreSQL Database

Getting Started

Prerequisites

  • Java 17+
  • Node.js 18+
  • PostgreSQL

πŸ”§ Backend Setup

cd backend
./mvnw spring-boot:run

Frontend Setup

cd frontend
npm install
npm run dev

Database Setup

  • Create a PostgreSQL database
  • Update credentials in application.properties

Project Structure

backend/
 β”œβ”€β”€ controller/
 β”œβ”€β”€ service/
 β”œβ”€β”€ scheduler/
 β”œβ”€β”€ model/
 β”œβ”€β”€ repository/
 β”œβ”€β”€ scaling/
 └── cost/

frontend/
 β”œβ”€β”€ components/
 β”œβ”€β”€ pages/
 β”œβ”€β”€ charts/
 └── services/

Contribution Guidelines

NimbusX is designed to be beginner-friendly and modular.

How to Contribute

  1. Fork the repository
  2. Create a new branch
  3. Make your changes
  4. Submit a pull request

Issue Labels

  • good first issue β†’ Beginner-friendly
  • medium β†’ Intermediate tasks
  • advanced β†’ Complex features

Contribution Areas

  • Scaling algorithms (auto-scale logic)
  • Metrics simulation improvements
  • UI/UX enhancements
  • Cost optimization strategies
  • Real-time data handling

Roadmap

  • Basic service & metrics simulation
  • Auto-scaling engine implementation
  • Cost optimization module
  • Real-time dashboard (WebSockets)
  • Advanced scaling strategies
  • Predictive scaling (future scope)

Code of Conduct

Please follow respectful and collaborative practices while contributing.


License

This project is licensed under the MIT License.


Acknowledgements

Inspired by modern cloud platforms and auto-scaling systems used in real-world distributed architectures.


Support

If you find this project useful, consider giving it a star ⭐ and contributing!

About

Real Time Cloud Computing Optimizer

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors