Skip to content

Commit 3a3fd46

Browse files
committed
fix styles
1 parent 19093bd commit 3a3fd46

File tree

8 files changed

+470
-181
lines changed

8 files changed

+470
-181
lines changed
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
# Cloud Scheduling using MO-LCA
2+
3+
### this project allows to test and analys cloud scheduling algorithms, it focus mainly on MO-LCA
4+
5+
## 1. Setup using Conda
6+
7+
```bash
8+
git clone https://github.com/ghifarhaidar/cloud-scheduling-using-lca.git
9+
cd cloud-scheduling-using-lca/
10+
```
11+
12+
## Create and activate a Conda environment
13+
14+
```bash
15+
conda create -n myenv -y
16+
conda init
17+
conda activate myenv
18+
```
19+
20+
## Install required packages
21+
22+
```bash
23+
conda install maven nodejs numpy -y
24+
```
25+
26+
## Install dependencies
27+
28+
```bash
29+
cd backend/
30+
npm install
31+
cd ../frontend/
32+
npm install
33+
cd ..
34+
```
35+
36+
## Build the Java simulator
37+
38+
```bash
39+
python3 run.py --job 3
40+
```
41+
42+
## 2. Setup without Conda (system-wide)
43+
44+
```bash
45+
git clone https://github.com/ghifarhaidar/cloud-scheduling-using-lca.git
46+
cd cloud-scheduling-using-lca/
47+
```
48+
49+
## [Optional] Create and activate a Python virtual environment
50+
51+
```bash
52+
python3 -m venv .venv
53+
source .venv/bin/activate
54+
```
55+
56+
## Install required system-level tools
57+
58+
### (Assumes you're on Ubuntu or Debian)
59+
60+
```bash
61+
sudo apt-get update
62+
sudo apt-get install -y maven nodejs npm python3-pip
63+
```
64+
65+
## Upgrade pip and install Python deps
66+
67+
```bash
68+
pip install --upgrade pip
69+
pip install numpy
70+
```
71+
72+
## Install backend dependencies
73+
74+
```bash
75+
cd backend/
76+
npm install
77+
cd ..
78+
```
79+
80+
## Install frontend dependencies
81+
82+
```bash
83+
cd frontend/
84+
npm install
85+
cd ..
86+
```
87+
88+
## Build the Java simulator and run the project
89+
90+
```bash
91+
python3 run.py --job 3
92+
```
93+
94+
save your env variable in both the 'frontend/' and 'backend/'
95+
96+
then run npm run start in both backend and frontend folders
97+
98+
## Integration Tests
99+
100+
```bash
101+
pytest tests/test_full_workflow.py
102+
```
103+
104+
over files all architecture:
105+
106+
```
107+
.
108+
├── algorithms
109+
│ ├── ACO.py
110+
│ ├── main.py
111+
│ ├── PSO.py
112+
│ └── Round_Robin.py
113+
├── backend
114+
│ ├── config
115+
│ │ ├── config.js
116+
│ │ └── corsOptions.js
117+
│ ├── example.env
118+
│ ├── middleware
119+
│ │ ├── asyncHandler.js
120+
│ │ ├── errorHandler.js
121+
│ │ └── logging.js
122+
│ ├── package.json
123+
│ ├── package-lock.json
124+
│ ├── routes
125+
│ │ └── api.js
126+
│ ├── server.js
127+
│ └── utils
128+
│ ├── fileHandlers.js
129+
│ ├── pythonRunner.js
130+
│ ├── resultProcessor.js
131+
│ └── runExperiments.js
132+
├── clean_and_update.sh
133+
├── configs
134+
│ └── all_algorithms.json
135+
├── frontend
136+
│ └── src
137+
│ ├── App.css
138+
│ ├── App.jsx
139+
│ ├── components
140+
│ ├── index.css
141+
│ ├── main.jsx
142+
│ ├── pages
143+
│ │ ├── EditConfigPage.jsx
144+
│ │ ├── FitnessPage.jsx
145+
│ │ ├── HomePage.jsx
146+
│ │ ├── ResultsPage.jsx
147+
│ │ ├── RunPage.jsx
148+
│ │ └── SetConfigPage.jsx
149+
│ ├── styles
150+
│ └── utils
151+
├── .github
152+
│ └── workflows
153+
│ └── integration.yml
154+
├── .gitignore
155+
├── lca
156+
│ ├── config.py
157+
│ ├── cost_config.py
158+
│ ├── cost_LCA.py
159+
│ ├── dev.py
160+
│ ├── main.py
161+
│ ├── makespan_LCA.py
162+
│ ├── MO_LCA.py
163+
│ ├── Non_Vectorized_MO_LCA.py
164+
│ ├── util.py
165+
│ └── vectorized_dev.py
166+
├── pom.xml
167+
├── README.md
168+
├── run.py
169+
├── src
170+
│ └── main
171+
│ └── java
172+
│ ├── brokers
173+
│ │ └── MyDatacenterBroker.java
174+
│ ├── org
175+
│ │ └── simulations
176+
│ │ └── Simulation.java
177+
│ ├── utils
178+
│ │ └── commons.java
179+
│ └── vms
180+
│ └── MyVmCost.java
181+
└── tests
182+
└── test_full_workflow.py
183+
```

frontend/src/App.css

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
--black: #111827;
2222

2323
/* Typography */
24-
--font-primary: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
25-
--font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
24+
--font-primary: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
25+
--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;
2626

2727
/* Spacing */
2828
--spacing-xs: 0.25rem;
@@ -40,7 +40,8 @@
4040
/* Shadows */
4141
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4242
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
43-
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
43+
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
44+
0 4px 6px -4px rgb(0 0 0 / 0.1);
4445
}
4546

4647
/* Reset and base styles */
@@ -65,7 +66,6 @@ body {
6566
flex-direction: column;
6667
}
6768

68-
6969
/* Main content */
7070
.main-content {
7171
flex: 1;
@@ -104,27 +104,35 @@ p {
104104
color: var(--secondary-gray);
105105
}
106106

107-
/* Cards */
108-
.card {
109-
background: var(--white);
110-
border-radius: var(--radius-lg);
111-
box-shadow: var(--shadow-md);
112-
padding: var(--spacing-xl);
113-
margin-bottom: var(--spacing-lg);
114-
border: 1px solid var(--border-gray);
107+
.grid-full {
108+
grid-column: 1 / -1; /* Span all columns */
115109
}
116-
117-
.card-header {
118-
border-bottom: 1px solid var(--border-gray);
119-
padding-bottom: var(--spacing-md);
120-
margin-bottom: var(--spacing-lg);
110+
.grid-title {
111+
grid-column: 1 / -1; /* Span all columns */
112+
margin-bottom: var(--spacing-xs);
113+
}
114+
.grid-text {
115+
grid-column: 1 / -1; /* Span all columns */
116+
margin-bottom: var(--spacing-xs);
117+
}
118+
.grid-button {
119+
grid-column: 1 / -1; /* Span all columns */
121120
}
122121

123-
.card-title {
124-
font-size: 1.25rem;
125-
font-weight: 600;
126-
color: var(--primary-blue);
127-
margin: 0;
122+
/* Responsive */
123+
@media (max-width: 768px) {
124+
.form-grid {
125+
grid-template-columns: 1fr;
126+
}
127+
128+
.form-group.full-width {
129+
grid-column: span 1;
130+
}
131+
132+
.radio-group {
133+
flex-direction: column;
134+
gap: var(--spacing-sm);
135+
}
128136
}
129137

130138
/* Forms */
@@ -134,11 +142,12 @@ p {
134142
box-shadow: var(--shadow-md);
135143
padding: var(--spacing-2xl);
136144
border: 1px solid var(--border-gray);
145+
display: grid;
137146
}
138147

139148
.form-section {
140-
margin-bottom: var(--spacing-2xl);
141149
padding: var(--spacing-lg);
150+
padding-bottom: var(--spacing-xs);
142151
border: 1px solid var(--border-gray);
143152
border-radius: var(--radius-md);
144153
background: var(--light-gray);
@@ -155,7 +164,7 @@ p {
155164
}
156165

157166
.form-group {
158-
margin-bottom: var(--spacing-lg);
167+
margin-bottom: var(--spacing-md);
159168
}
160169

161170
.form-label {
@@ -363,4 +372,5 @@ p {
363372

364373
.gap-md {
365374
gap: var(--spacing-md);
366-
}
375+
}
376+

0 commit comments

Comments
 (0)