blob: 2805bf16429637fd983672dfb487aa8110492086 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# OpenDC Frontend
[](https://opensource.org/licenses/MIT)
The user-facing component of the OpenDC stack, allowing users to build and interact with their own (virtual) datacenters. Built in *React.js* and *Redux*, with the help of `create-react-app`.
## Architecture
The codebase follows a standard React.js structure, with static assets being contained in the `public` folder, while dynamic components and their styles are contained in `src`. The app uses client-side routing (with `react-router`), meaning that the only HTML file needed to be served is a `index.html` file.
### Pages
All pages are represented by a component in the `src/pages` directory. There are components for the following pages:
**Home.js** - Entry page (`/`)
**Simulations.js** - Overview of simulations the user (`/simulations`)
**App.js** - Main application, with datacenter construction and simulation UI (`/simulations/:simulationId` and `/simulations/:simulationId/experiments/:experimentId`)
**Experiments.js** - Overview of experiments of the current simulation (`/simulations/:simulationId/experiments`)
**Profile.js** - Profile of the current user (`/profile`)
**NotFound.js** - 404 page to appear when route is invalid (`/*`)
### Components & Containers
//
### State Management
//
### API Interaction
//
|