diff options
Diffstat (limited to 'opendc-web/opendc-web-ui/src/components/home')
6 files changed, 127 insertions, 71 deletions
diff --git a/opendc-web/opendc-web-ui/src/components/home/ContactSection.js b/opendc-web/opendc-web-ui/src/components/home/ContactSection.js index 42bdab8a..d5c6e55f 100644 --- a/opendc-web/opendc-web-ui/src/components/home/ContactSection.js +++ b/opendc-web/opendc-web-ui/src/components/home/ContactSection.js @@ -39,11 +39,12 @@ const ContactSection = () => ( <div className="col text-center disclaimer mt-5 small"> <FontAwesome name="exclamation-triangle" size="2x" className="mr-2" /> <br /> + <strong>Disclaimer: </strong> OpenDC is an experimental tool. Your data may get lost, overwritten, or otherwise become unavailable. <br /> The OpenDC authors should in no way be liable in the event this happens (see our{' '} <strong> - <a href="https://github.com/atlarge-research/opendc/blob/master/LICENSE.md">license</a> + <a href="https://github.com/atlarge-research/opendc/blob/master/LICENSE.txt">license</a> </strong> ). Sorry for the inconvenience. </div> diff --git a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js b/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js index 7b410679..6a9ea00c 100644 --- a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js +++ b/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js @@ -1,17 +1,28 @@ import React from 'react' +import { Container, Jumbotron, Button } from 'reactstrap' import './JumbotronHeader.sass' const JumbotronHeader = () => ( <section className="jumbotron-header"> - <div className="container"> - <div className="jumbotron text-center"> + <Container> + <Jumbotron className="text-center"> <h1> Open<span className="dc">DC</span> </h1> <p className="lead">Collaborative Datacenter Simulation and Exploration for Everybody</p> <img src="img/logo.png" className="img-responsive mt-3" alt="OpenDC" /> - </div> - </div> + <p className="lead mt-5"> + <Button + tag="a" + target="_blank" + href="https://atlarge-research.com/pdfs/ccgrid21-opendc-paper.pdf" + color="warning" + > + Read about <strong>OpenDC 2.0</strong> <i className="fa fa-external-link" /> + </Button> + </p> + </Jumbotron> + </Container> </section> ) diff --git a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js index c987d5d0..263590d5 100644 --- a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js +++ b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js @@ -1,23 +1,28 @@ import classNames from 'classnames' import React from 'react' +import { Row, Col } from 'reactstrap' import ContentSection from './ContentSection' import './ScreenshotSection.sass' const ScreenshotSection = ({ name, title, imageUrl, caption, imageIsRight, children }) => ( <ContentSection name={name} title={title}> - <div className="row"> - <div - className={classNames('col-xl-5 col-lg-5 col-md-5 col-sm-12 col-12 text-left', { + <Row> + <Col + xl="5" + lg="5" + md="5" + sm="!2" + className={classNames('text-left my-auto', { 'order-1': !imageIsRight, })} > {children} - </div> - <div className="col-xl-7 col-lg-7 col-md-7 col-sm-12 col-12"> + </Col> + <Col xl="7" lg="7" md="7" sm="12"> <img src={imageUrl} className="col-12 screenshot" alt={caption} /> - <div className="row text-muted justify-content-center">{caption}</div> - </div> - </div> + <Row className="text-muted justify-content-center">{caption}</Row> + </Col> + </Row> </ContentSection> ) diff --git a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.sass b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.sass index 2f454cb4..6b1a6ec4 100644 --- a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.sass +++ b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.sass @@ -1,5 +1,4 @@ .screenshot - outline: 2px black solid padding-left: 0 padding-right: 0 margin-bottom: 5px diff --git a/opendc-web/opendc-web-ui/src/components/home/SimulationSection.js b/opendc-web/opendc-web-ui/src/components/home/SimulationSection.js index b0244cb5..8e98717a 100644 --- a/opendc-web/opendc-web-ui/src/components/home/SimulationSection.js +++ b/opendc-web/opendc-web-ui/src/components/home/SimulationSection.js @@ -1,22 +1,50 @@ import React from 'react' -import ScreenshotSection from './ScreenshotSection' +import { Col, Row } from 'reactstrap' +import ContentSection from './ContentSection' -const ModelingSection = () => ( - <ScreenshotSection - name="project" - title="Datacenter Simulation" - imageUrl="/img/screenshot-simulation-zoom.png" - caption="Running an experiment in OpenDC" - imageIsRight={false} - > - <h3>Working with OpenDC:</h3> - <ul> - <li>Seamlessly switch between construction and simulation modes</li> - <li>Choose one of several predefined workloads (Big Data, Bag of Tasks, Hadoop, etc.)</li> - <li>Play, pause, and skip around the informative simulation timeline</li> - <li>Visualize and demo live</li> - </ul> - </ScreenshotSection> -) +const SimulationSection = () => { + return ( + <ContentSection name="project" title="Datecenter Simulation"> + <Row> + <Col xl="5" lg="5" md="5" sm="2" className="text-left my-auto order-1"> + <h3>Working with OpenDC:</h3> + <ul> + <li>Seamlessly switch between construction and simulation modes</li> + <li> + Choose one of several predefined workloads (Business Critical, Workflows, Machine Learning, + Serverless, etc.) + </li> + <li>Compare datacenter topologies using automated plots and visual summaries</li> + </ul> + </Col> + <Col xl="7" lg="7" md="7" sm="12"> + <img + src="/img/screenshot-simulation.png" + className="col-12 screenshot" + alt="Running an experiment in OpenDC" + /> + <Row className="text-muted justify-content-center">Running an experiment in OpenDC</Row> + </Col> + </Row> + <Row className="mt-5"> + <Col xl="5" lg="5" md="5" sm="2" className="text-left my-auto"> + <h3>OpenDC's Simulator:</h3> + <ul> + <li>Includes a detailed operational model of modern datacenters</li> + <li> + Support for emerging datacenter technologies around <em>cloud computing</em>,{' '} + <em>serverless computing</em>, <em>big data</em>, and <em>machine learning</em> + </li> + </ul> + </Col> -export default ModelingSection + <Col xl="7" lg="7" md="7" sm="12"> + <img src="/img/opendc-architecture.png" className="col-12 screenshot" alt="OpenDC's Architecture" /> + <Row className="text-muted justify-content-center">OpenDC's Architecture</Row> + </Col> + </Row> + </ContentSection> + ) +} + +export default SimulationSection diff --git a/opendc-web/opendc-web-ui/src/components/home/TeamSection.js b/opendc-web/opendc-web-ui/src/components/home/TeamSection.js index 4b6f1e25..1ee1cbf5 100644 --- a/opendc-web/opendc-web-ui/src/components/home/TeamSection.js +++ b/opendc-web/opendc-web-ui/src/components/home/TeamSection.js @@ -1,52 +1,64 @@ import React from 'react' +import { Row, Col } from 'reactstrap' import ContentSection from './ContentSection' -const TeamMember = ({ photoId, name, description }) => ( - <div className="col-xl-4 col-lg-4 col-md-5 col-sm-6 col-12 justify-content-center"> - <img +const TeamLead = ({ photoId, name, description }) => ( + <Col xl="3" lg="3" md="4" sm="6" className="justify-content-center"> + <Col + tag="img" src={'img/portraits/' + photoId + '.png'} - className="col-xl-10 col-lg-10 col-md-10 col-sm-8 col-5 mb-2 mt-2" + xl="10" + lg="10" + md="10" + sm="8" + col="5" + className="mb-2 mt-2" alt={name} /> - <div className="col-12"> + <Col> <h4>{name}</h4> <div className="team-member-description">{description}</div> - </div> - </div> + </Col> + </Col> +) + +const TeamMember = ({ photoId, name }) => ( + <Col xl="2" lg="2" md="3" sm="4" className="justify-content-center"> + <Col + tag="img" + src={'img/portraits/' + photoId + '.png'} + xl="10" + lg="10" + md="10" + sm="8" + col="5" + className="mb-2 mt-2" + alt={name} + /> + <Col> + <h5>{name}</h5> + </Col> + </Col> ) const TeamSection = () => ( - <ContentSection name="team" title="Core Team"> - <div className="row justify-content-center"> - <TeamMember photoId="aiosup" name="Prof. dr. ir. Alexandru Iosup" description="Project Lead" /> - <TeamMember - photoId="gandreadis" - name="Georgios Andreadis" - description="Software Engineer responsible for the frontend web application" - /> - <TeamMember - photoId="fmastenbroek" - name="Fabian Mastenbroek" - description="Software Engineer responsible for the datacenter simulator" - /> - <TeamMember - photoId="jburley" - name="Jacob Burley" - description="Software Engineer responsible for prefabricated components" - /> - <TeamMember - photoId="loverweel" - name="Leon Overweel" - description="Former product lead and Software Engineer" - /> - </div> - <div className="text-center lead mt-3"> - See{' '} - <a target="_blank" href="http://atlarge.science/opendc#team" rel="noopener noreferrer"> - atlarge.science/opendc - </a>{' '} - for the full team! - </div> + <ContentSection name="team" title="OpenDC Team"> + <Row className="justify-content-center"> + <TeamLead photoId="aiosup" name="Prof. dr. ir. Alexandru Iosup" description="Project Lead" /> + <TeamLead photoId="fmastenbroek" name="Fabian Mastenbroek" description="Technology Lead" /> + <TeamLead photoId="gandreadis" name="Georgios Andreadis" description="Former Technology Lead (2018-2020)" /> + <TeamLead photoId="vvanbeek" name="Vincent van Beek" description="Former Technology Lead (2017-2018)" /> + </Row> + <Row className="justify-content-center mt-5"> + <TeamMember photoId="loverweel" name="Leon Overweel" /> + <TeamMember photoId="lfdversluis" name="Laurens Versluis" /> + <TeamMember photoId="evaneyk" name="Erwin van Eyk" /> + <TeamMember photoId="sjounaid" name="Soufiane Jounaid" /> + <TeamMember photoId="wlai" name="Wenchen Lai" /> + <TeamMember photoId="hhe" name="Hongyu He" /> + <TeamMember photoId="jburley" name="Jacob Burley" /> + <TeamMember photoId="jbosch" name="Jaro Bosch" /> + </Row> </ContentSection> ) |
