summaryrefslogtreecommitdiff
path: root/opendc-web
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web')
-rw-r--r--opendc-web/opendc-web-ui/next.config.js9
-rw-r--r--opendc-web/opendc-web-ui/package.json4
-rw-r--r--opendc-web/opendc-web-ui/public/index.html70
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ContactSection.js66
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ContactSection.module.scss20
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ContentSection.js23
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ContentSection.module.scss11
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/IntroSection.js50
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js34
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.module.scss31
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ModelingSection.js28
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js39
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.module.scss5
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/SimulationSection.js66
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/StakeholderSection.js47
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/TeamSection.js82
-rw-r--r--opendc-web/opendc-web-ui/src/components/home/TechnologiesSection.js47
-rw-r--r--opendc-web/opendc-web-ui/src/components/navigation/HomeNavbar.js16
-rw-r--r--opendc-web/opendc-web-ui/src/pages/index.js42
-rw-r--r--opendc-web/opendc-web-ui/src/pages/index.module.scss16
20 files changed, 11 insertions, 695 deletions
diff --git a/opendc-web/opendc-web-ui/next.config.js b/opendc-web/opendc-web-ui/next.config.js
index 44ebfff6..97580fa0 100644
--- a/opendc-web/opendc-web-ui/next.config.js
+++ b/opendc-web/opendc-web-ui/next.config.js
@@ -25,4 +25,13 @@ module.exports = {
experimental: {
eslint: true,
},
+ async redirects() {
+ return [
+ {
+ source: '/',
+ destination: '/projects',
+ permanent: true,
+ },
+ ]
+ },
}
diff --git a/opendc-web/opendc-web-ui/package.json b/opendc-web/opendc-web-ui/package.json
index 1a906acd..2dfd137c 100644
--- a/opendc-web/opendc-web-ui/package.json
+++ b/opendc-web/opendc-web-ui/package.json
@@ -10,10 +10,10 @@
],
"homepage": "http://opendc.org",
"bugs": {
- "url": "https://github.com/atlarge-research/opendc-frontend/issues",
+ "url": "https://github.com/atlarge-research/opendc/issues",
"email": "opendc@atlarge-research.com"
},
- "author": "Georgios Andreadis <g.andreadis@atlarge-research.com> (https://gandreadis.com/)",
+ "author": "OpenDC Maintainers <opendc@atlarge-research.com>",
"license": "MIT",
"private": true,
"dependencies": {
diff --git a/opendc-web/opendc-web-ui/public/index.html b/opendc-web/opendc-web-ui/public/index.html
deleted file mode 100644
index 19b80e29..00000000
--- a/opendc-web/opendc-web-ui/public/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>OpenDC</title>
-
- <!-- Standard meta tags -->
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="theme-color" content="#00A6D6">
- <meta name="description" content="Collaborative Datacenter Simulation and Exploration for Everybody">
- <meta name="author" content="@Large Research">
- <meta name="keywords" content="OpenDC, Datacenter, Simulation, Simulator, Collaborative, Distributed, Cluster">
- <link rel="manifest" href="/manifest.json">
- <link rel="shortcut icon" href="/favicon.ico">
-
- <!-- Twitter Card data -->
- <meta name="twitter:card" content="summary">
- <meta name="twitter:site" content="@LargeResearch">
- <meta name="twitter:title" content="OpenDC">
- <meta name="twitter:description" content="Collaborative Datacenter Simulation and Exploration for Everybody">
- <meta name="twitter:creator" content="@LargeResearch">
- <meta name="twitter:image" content="http://opendc.org/img/logo.png">
-
- <!-- OpenGraph meta tags -->
- <meta property="og:title" content="OpenDC">
- <meta property="og:site_name" content="OpenDC">
- <meta property="og:type" content="website">
- <meta property="og:image" content="http://opendc.org/img/logo.png">
- <meta property="og:url" content="http://opendc.org/">
- <meta property="og:description"
- content="OpenDC provides collaborative online datacenter modeling, diverse and effective datacenter
- simulation, and exploratory datacenter performance feedback.">
- <meta property="og:locale" content="en_US">
-
- <!-- Google meta tags -->
- <meta name="google-signin-client_id" content="%REACT_APP_OAUTH_CLIENT_ID%">
- <meta name="google-site-verification" content="YIR4LkQTv6WmOdWv8MkeiUKni-0Yu3WHylLp4VvUMig"/>
-
- <!-- CDN dependencies -->
- <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
- <script src="https://use.fontawesome.com/ece66a2e7c.js"></script>
-
- <!-- Google Analytics -->
- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-84285092-3"></script>
- <script>
- window.dataLayer = window.dataLayer || []
-
- function gtag() {
- dataLayer.push(arguments)
- }
-
- gtag('js', new Date())
- gtag('config', 'UA-84285092-3')
- </script>
- <script>
- /* Dynamic app variables */
- window.config_overrides = {
- REACT_APP_API_BASE_URL: "$REACT_APP_API_BASE_URL",
- REACT_APP_OAUTH_CLIENT_ID: "$REACT_APP_OAUTH_CLIENT_ID",
- REACT_APP_SENTRY_DSN: "$REACT_APP_SENTRY_DSN",
- };
- </script>
-</head>
-<body>
-<noscript>
- You need to enable JavaScript to run this app.
-</noscript>
-<div id="root"></div>
-</body>
-</html>
diff --git a/opendc-web/opendc-web-ui/src/components/home/ContactSection.js b/opendc-web/opendc-web-ui/src/components/home/ContactSection.js
deleted file mode 100644
index 60a7e6a3..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ContactSection.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import React from 'react'
-import Image from 'next/image'
-import { Row, Col } from 'reactstrap'
-import ContentSection from './ContentSection'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faExclamationTriangle, faEnvelope } from '@fortawesome/free-solid-svg-icons'
-import { faGithub } from '@fortawesome/free-brands-svg-icons'
-import { contactSection, tudelftIcon } from './ContactSection.module.scss'
-
-const ContactSection = () => (
- <ContentSection name="contact" title="Contact" className={contactSection}>
- <Row className="justify-content-center">
- <Col md="4">
- <a href="https://github.com/atlarge-research/opendc">
- <FontAwesomeIcon icon={faGithub} size="3x" className="mb-2" />
- <div className="w-100" />
- atlarge-research/opendc
- </a>
- </Col>
- <Col md="4">
- <a href="mailto:opendc@atlarge-research.com">
- <FontAwesomeIcon icon={faEnvelope} size="3x" className="mb-2" />
- <div className="w-100" />
- opendc@atlarge-research.com
- </a>
- </Col>
- </Row>
- <Row>
- <Col className="text-center">
- <Image
- src="/img/tudelft-icon.png"
- className={tudelftIcon}
- layout="intrinsic"
- width={162}
- height={100}
- alt="TU Delft"
- />
- </Col>
- </Row>
- <Row>
- <Col className="text-center">
- A project by the &nbsp;
- <a href="http://atlarge.science" target="_blank" rel="noopener noreferrer">
- <strong>@Large Research Group</strong>
- </a>
- .
- </Col>
- </Row>
- <Row>
- <Col className="text-center disclaimer mt-5 small">
- <FontAwesomeIcon icon={faExclamationTriangle} 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.txt">license</a>
- </strong>
- ). Sorry for the inconvenience.
- </Col>
- </Row>
- </ContentSection>
-)
-
-export default ContactSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/ContactSection.module.scss b/opendc-web/opendc-web-ui/src/components/home/ContactSection.module.scss
deleted file mode 100644
index 9ab4fcb1..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ContactSection.module.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.contactSection {
- background-color: #444;
- color: #ddd;
-
- a {
- color: #ddd;
-
- &:hover {
- color: #fff;
- }
- }
-
- .tudelftIcon {
- height: 100px;
- }
-
- .disclaimer {
- color: #cccccc;
- }
-}
diff --git a/opendc-web/opendc-web-ui/src/components/home/ContentSection.js b/opendc-web/opendc-web-ui/src/components/home/ContentSection.js
deleted file mode 100644
index abaa565c..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ContentSection.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import classNames from 'classnames'
-import { Container } from 'reactstrap'
-import { contentSection } from './ContentSection.module.scss'
-
-const ContentSection = ({ name, title, children, className }) => (
- <section id={name} className={classNames(className, contentSection)}>
- <Container>
- <h1>{title}</h1>
- {children}
- </Container>
- </section>
-)
-
-ContentSection.propTypes = {
- name: PropTypes.string.isRequired,
- title: PropTypes.string.isRequired,
- children: PropTypes.node,
- className: PropTypes.string,
-}
-
-export default ContentSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/ContentSection.module.scss b/opendc-web/opendc-web-ui/src/components/home/ContentSection.module.scss
deleted file mode 100644
index d27a0ce0..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ContentSection.module.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-@import 'src/style/_variables.scss';
-
-.contentSection {
- padding-top: 50px;
- padding-bottom: 50px;
- text-align: center;
-
- h1 {
- margin-bottom: 30px;
- }
-}
diff --git a/opendc-web/opendc-web-ui/src/components/home/IntroSection.js b/opendc-web/opendc-web-ui/src/components/home/IntroSection.js
deleted file mode 100644
index f9000d32..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/IntroSection.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import Image from 'next/image'
-import { Container, Row, Col } from 'reactstrap'
-
-const IntroSection = ({ className }) => (
- <section id="intro" className={className}>
- <Container className="pt-5 pb-3">
- <Row className="justify-content-center">
- <Col xl="4" lg="4" md="4" sm="8">
- <h4>The datacenter (DC) industry...</h4>
- <ul>
- <li>Is worth over $15 bn, and growing</li>
- <li>Has many hard-to-grasp concepts</li>
- <li>Needs to become accessible to many</li>
- </ul>
- </Col>
- <Col xl="4" lg="4" md="4" sm="8">
- <Image
- src="/img/datacenter-drawing.png"
- className="col-12"
- layout="intrinsic"
- width={350}
- height={197}
- alt="Schematic top-down view of a datacenter"
- />
- <p className="col-12 figure-caption text-center">
- <a href="http://www.dolphinhosts.co.uk/wp-content/uploads/2013/07/data-centers.gif">
- Image source
- </a>
- </p>
- </Col>
- <Col xl="4" lg="4" md="4" sm="8">
- <h4>OpenDC provides...</h4>
- <ul>
- <li>Collaborative online DC modeling</li>
- <li>Diverse and effective DC simulation</li>
- <li>Exploratory DC performance feedback</li>
- </ul>
- </Col>
- </Row>
- </Container>
- </section>
-)
-
-IntroSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default IntroSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js b/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js
deleted file mode 100644
index 98aa0af2..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react'
-import Image from 'next/image'
-import { Container, Jumbotron, Button } from 'reactstrap'
-import { jumbotronHeader, jumbotron, dc } from './JumbotronHeader.module.scss'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons'
-
-const JumbotronHeader = () => (
- <section className={jumbotronHeader}>
- <Container>
- <Jumbotron className={jumbotron}>
- <h1>
- Open<span className={dc}>DC</span>
- </h1>
- <p className="lead">Collaborative Datacenter Simulation and Exploration for Everybody</p>
- <div className="mt-5">
- <Image src="/img/logo.png" layout="intrinsic" height={110} width={110} alt="OpenDC" />
- </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> <FontAwesomeIcon icon={faExternalLinkAlt} />
- </Button>
- </p>
- </Jumbotron>
- </Container>
- </section>
-)
-
-export default JumbotronHeader
diff --git a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.module.scss b/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.module.scss
deleted file mode 100644
index 567b3e73..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/JumbotronHeader.module.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-.jumbotronHeader {
- background: #00a6d6;
-}
-
-.jumbotron {
- background-color: inherit;
- margin-bottom: 0;
- text-align: center;
-
- padding-top: 120px;
- padding-bottom: 120px;
-
- img {
- max-width: 110px;
- }
-
- h1 {
- color: #fff;
- font-size: 4.5em;
-
- .dc {
- color: #fff;
- font-weight: bold;
- }
- }
-
- :global(.lead) {
- color: #fff;
- font-size: 1.4em;
- }
-}
diff --git a/opendc-web/opendc-web-ui/src/components/home/ModelingSection.js b/opendc-web/opendc-web-ui/src/components/home/ModelingSection.js
deleted file mode 100644
index 8959663a..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ModelingSection.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import ScreenshotSection from './ScreenshotSection'
-
-const ModelingSection = ({ className }) => (
- <ScreenshotSection
- name="modeling"
- title="Datacenter Modeling"
- imageUrl="/img/screenshot-construction.png"
- caption="Building a datacenter in OpenDC"
- imageIsRight={true}
- className={className}
- >
- <h3>Collaboratively...</h3>
- <ul>
- <li>Model DC layout, and room locations and types</li>
- <li>Place racks in rooms and nodes in racks</li>
- <li>Add real-world CPU, GPU, memory, storage and network units to each node</li>
- <li>Select from diverse scheduling policies</li>
- </ul>
- </ScreenshotSection>
-)
-
-ModelingSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default ModelingSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js
deleted file mode 100644
index 58fe1710..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import Image from 'next/image'
-import { Row, Col } from 'reactstrap'
-import ContentSection from './ContentSection'
-import { screenshot } from './ScreenshotSection.module.scss'
-
-const ScreenshotSection = ({ className, name, title, imageUrl, caption, imageIsRight, children }) => (
- <ContentSection name={name} title={title} className={className}>
- <Row>
- <Col xl="5" lg="5" md="5" sm="12" className={`text-left my-auto ${!imageIsRight ? 'order-1' : ''}`}>
- {children}
- </Col>
- <Col xl="7" lg="7" md="7" sm="12">
- <Image
- src={imageUrl}
- className={`col-12 ${screenshot}`}
- layout="intrinsic"
- width={635}
- height={419}
- alt={caption}
- />
- <div className="row text-muted justify-content-center">{caption}</div>
- </Col>
- </Row>
- </ContentSection>
-)
-
-ScreenshotSection.propTypes = {
- className: PropTypes.string,
- name: PropTypes.string,
- title: PropTypes.string,
- imageUrl: PropTypes.string,
- caption: PropTypes.string,
- imageIsRight: PropTypes.bool,
- children: PropTypes.node,
-}
-
-export default ScreenshotSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.module.scss b/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.module.scss
deleted file mode 100644
index 7e22de32..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/ScreenshotSection.module.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.screenshot {
- 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
deleted file mode 100644
index 46ce6a35..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/SimulationSection.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import Image from 'next/image'
-import { Col, Row } from 'reactstrap'
-import ContentSection from './ContentSection'
-
-const SimulationSection = ({ className }) => {
- return (
- <ContentSection name="project" title="Datecenter Simulation" className={className}>
- <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">
- <Image
- src="/img/screenshot-simulation.png"
- className="col-12"
- layout="intrinsic"
- width={635}
- height={419}
- 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&apos;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>
-
- <Col xl="7" lg="7" md="7" sm="12">
- <Image
- src="/img/opendc-architecture.png"
- className="col-12"
- layout="intrinsic"
- width={635}
- height={232}
- alt="OpenDC's Architecture"
- />
- <Row className="text-muted justify-content-center">OpenDC&apos;s Architecture</Row>
- </Col>
- </Row>
- </ContentSection>
- )
-}
-
-SimulationSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default SimulationSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/StakeholderSection.js b/opendc-web/opendc-web-ui/src/components/home/StakeholderSection.js
deleted file mode 100644
index aa689ba4..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/StakeholderSection.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import { Row, Col } from 'reactstrap'
-import ContentSection from './ContentSection'
-
-const Stakeholder = ({ name, title, subtitle }) => (
- <Col xl="4" lg="4" md="4" sm="6">
- <Col
- tag="img"
- xl="3"
- lg="3"
- md="4"
- sm="4"
- src={'img/stakeholders/' + name + '.png'}
- className="img-fluid"
- alt={title}
- />
- <div className="text-center mt-2">
- <h4>{title}</h4>
- <p>{subtitle}</p>
- </div>
- </Col>
-)
-
-Stakeholder.propTypes = {
- name: PropTypes.string,
- title: PropTypes.string,
- subtitle: PropTypes.string,
-}
-
-const StakeholderSection = ({ className }) => (
- <ContentSection name="stakeholders" title="Stakeholders" className={className}>
- <Row className="justify-content-center">
- <Stakeholder name="Manager" title="Managers" subtitle="Seeing is deciding" />
- <Stakeholder name="Sales" title="Sales" subtitle="Demo concepts" />
- <Stakeholder name="Developer" title="DevOps" subtitle="Develop & tune" />
- <Stakeholder name="Researcher" title="Researchers" subtitle="Understand & design" />
- <Stakeholder name="Student" title="Students" subtitle="Grasp complex concepts" />
- </Row>
- </ContentSection>
-)
-
-StakeholderSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default StakeholderSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/TeamSection.js b/opendc-web/opendc-web-ui/src/components/home/TeamSection.js
deleted file mode 100644
index dd057a93..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/TeamSection.js
+++ /dev/null
@@ -1,82 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import Image from 'next/image'
-import { Row, Col } from 'reactstrap'
-import ContentSection from './ContentSection'
-
-const TeamLead = ({ photoId, name, description }) => (
- <Col xl="3" lg="3" md="4" sm="6" className="justify-content-center">
- <Row>
- <Col xl="10" lg="10" md="10" sm="8" col="5" className="my-2 mx-auto" alt={name}>
- <Image
- src={'/img/portraits/' + photoId + '.png'}
- layout="intrinsic"
- width={182}
- height={182}
- alt={name}
- />
- </Col>
- <Col>
- <h4>{name}</h4>
- <div className="team-member-description">{description}</div>
- </Col>
- </Row>
- </Col>
-)
-
-TeamLead.propTypes = {
- photoId: PropTypes.string,
- name: PropTypes.string,
- description: PropTypes.string,
-}
-
-const TeamMember = ({ photoId, name }) => (
- <Col xl="2" lg="2" md="3" sm="4" className="justify-content-center">
- <Row>
- <Col xl="10" lg="10" md="10" sm="8" xs="5" className="my-2 mx-auto">
- <Image
- src={'/img/portraits/' + photoId + '.png'}
- layout="intrinsic"
- width={100}
- height={100}
- alt={name}
- />
- </Col>
- <Col>
- <h5>{name}</h5>
- </Col>
- </Row>
- </Col>
-)
-
-TeamMember.propTypes = {
- photoId: PropTypes.string,
- name: PropTypes.string,
-}
-
-const TeamSection = ({ className }) => (
- <ContentSection name="team" title="OpenDC Team" className={className}>
- <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>
-)
-
-TeamSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default TeamSection
diff --git a/opendc-web/opendc-web-ui/src/components/home/TechnologiesSection.js b/opendc-web/opendc-web-ui/src/components/home/TechnologiesSection.js
deleted file mode 100644
index e5131c2a..00000000
--- a/opendc-web/opendc-web-ui/src/components/home/TechnologiesSection.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import { ListGroup, ListGroupItem } from 'reactstrap'
-import ContentSection from './ContentSection'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faWindowMaximize, faTv, faDatabase, faCogs } from '@fortawesome/free-solid-svg-icons'
-
-const TechnologiesSection = ({ className }) => (
- <ContentSection name="technologies" title="Technologies" className={className}>
- <ListGroup className="list-group text-left">
- <ListGroupItem color="primary" className="d-flex justify-content-between align-items-center">
- <span style={{ minWidth: 100 }}>
- <FontAwesomeIcon icon={faWindowMaximize} className="mr-2" />
- <strong className="">Browser</strong>
- </span>
- <span className="text-right">JavaScript, React, Redux, Konva</span>
- </ListGroupItem>
- <ListGroupItem color="warning" className="d-flex justify-content-between align-items-center">
- <span style={{ minWidth: 100 }}>
- <FontAwesomeIcon icon={faTv} className="mr-2" />
- <strong>Server</strong>
- </span>
- <span className="text-right">Python, Flask, FlaskSocketIO, OpenAPI</span>
- </ListGroupItem>
- <ListGroupItem color="success" className="d-flex justify-content-between align-items-center">
- <span style={{ minWidth: 100 }}>
- <FontAwesomeIcon icon={faDatabase} className="mr-2" />
- <strong>Database</strong>
- </span>
- <span className="text-right">MongoDB</span>
- </ListGroupItem>
- <ListGroupItem color="danger" className="d-flex justify-content-between align-items-center">
- <span style={{ minWidth: 100 }}>
- <FontAwesomeIcon icon={faCogs} className="mr-2" />
- <strong>Simulator</strong>
- </span>
- <span className="text-right">Kotlin</span>
- </ListGroupItem>
- </ListGroup>
- </ContentSection>
-)
-
-TechnologiesSection.propTypes = {
- className: PropTypes.string,
-}
-
-export default TechnologiesSection
diff --git a/opendc-web/opendc-web-ui/src/components/navigation/HomeNavbar.js b/opendc-web/opendc-web-ui/src/components/navigation/HomeNavbar.js
deleted file mode 100644
index 57cb7a53..00000000
--- a/opendc-web/opendc-web-ui/src/components/navigation/HomeNavbar.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react'
-import { NavItem, NavLink } from 'reactstrap'
-import Navbar from './Navbar'
-
-const HomeNavbar = () => (
- <Navbar fullWidth={false}>
- <NavLink href="#stakeholders">Stakeholders</NavLink>
- <NavLink href="#modeling">Modeling</NavLink>
- <NavLink href="#project">Project</NavLink>
- <NavLink href="#technologies">Technologies</NavLink>
- <NavLink href="#team">Team</NavLink>
- <NavLink href="#contact">Contact</NavLink>
- </Navbar>
-)
-
-export default HomeNavbar
diff --git a/opendc-web/opendc-web-ui/src/pages/index.js b/opendc-web/opendc-web-ui/src/pages/index.js
deleted file mode 100644
index bb904eb6..00000000
--- a/opendc-web/opendc-web-ui/src/pages/index.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import React from 'react'
-import Head from 'next/head'
-import ContactSection from '../components/home/ContactSection'
-import IntroSection from '../components/home/IntroSection'
-import JumbotronHeader from '../components/home/JumbotronHeader'
-import ModelingSection from '../components/home/ModelingSection'
-import SimulationSection from '../components/home/SimulationSection'
-import StakeholderSection from '../components/home/StakeholderSection'
-import TeamSection from '../components/home/TeamSection'
-import TechnologiesSection from '../components/home/TechnologiesSection'
-import HomeNavbar from '../components/navigation/HomeNavbar'
-import {
- introSection,
- stakeholderSection,
- modelingSection,
- simulationSection,
- technologiesSection,
- teamSection,
-} from './index.module.scss'
-
-function Home() {
- return (
- <>
- <Head>
- <title>OpenDC</title>
- </Head>
- <HomeNavbar />
- <div className="body-wrapper page-container">
- <JumbotronHeader />
- <IntroSection className={introSection} />
- <StakeholderSection className={stakeholderSection} />
- <ModelingSection className={modelingSection} />
- <SimulationSection className={simulationSection} />
- <TechnologiesSection className={technologiesSection} />
- <TeamSection className={teamSection} />
- <ContactSection />
- </div>
- </>
- )
-}
-
-export default Home
diff --git a/opendc-web/opendc-web-ui/src/pages/index.module.scss b/opendc-web/opendc-web-ui/src/pages/index.module.scss
deleted file mode 100644
index aed1d88f..00000000
--- a/opendc-web/opendc-web-ui/src/pages/index.module.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-.bodyWrapper {
- position: relative;
- overflow-y: hidden;
-}
-
-.introSection,
-.modelingSection,
-.technologiesSection {
- background-color: #fff;
-}
-
-.stakeholderSection,
-.simulationSection,
-.teamSection {
- background-color: #f2f2f2;
-}