<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/opendc-web/opendc-web-ui/src/index.js, branch master</title>
<subtitle>The OpenDC BSc thesis repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/'/>
<entry>
<title>ui: Migrate from CRA to Next.js</title>
<updated>2021-05-17T15:06:47+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-12T20:42:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=4397a959e806bf476be4c81bc804616adf58b969'/>
<id>4397a959e806bf476be4c81bc804616adf58b969</id>
<content type='text'>
This change updates the web frontend to use Next.js instead of Create
React App (CRA). Next.js enables the possibility of rendering pages on
the server side (which reduces the time to first frame) and overall
provides a better development experience.

Future commits will try to futher optimize the implementation for
Next.js.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the web frontend to use Next.js instead of Create
React App (CRA). Next.js enables the possibility of rendering pages on
the server side (which reduces the time to first frame) and overall
provides a better development experience.

Future commits will try to futher optimize the implementation for
Next.js.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Move communication to REST API</title>
<updated>2021-05-12T20:50:49+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-11T14:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=2dbb06f433964ccac13fd64ef512ed03142ed97b'/>
<id>2dbb06f433964ccac13fd64ef512ed03142ed97b</id>
<content type='text'>
This change removes the socket.io websocket connection/client in favour
of the OpenDC REST API. The socket.io websocket implementation was
intended to be used for interactive and collaborative datacenter design
and exploration.

However, we do not support this functionality at the moment
(collaborative design and exploration) and having the entire API run
over this websocket connection is fragile and not standard practice.

To improve maintainability, we therefore remove the websocket
implementation in favour of the OpenDC REST API implementation using
the fetch API. If we want to implement collaboration in the future, we
will develop appropriate extensions in conjuction with the existing REST
API. For this, we should look for standard and existing implementation
of this functionality.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the socket.io websocket connection/client in favour
of the OpenDC REST API. The socket.io websocket implementation was
intended to be used for interactive and collaborative datacenter design
and exploration.

However, we do not support this functionality at the moment
(collaborative design and exploration) and having the entire API run
over this websocket connection is fragile and not standard practice.

To improve maintainability, we therefore remove the websocket
implementation in favour of the OpenDC REST API implementation using
the fetch API. If we want to implement collaboration in the future, we
will develop appropriate extensions in conjuction with the existing REST
API. For this, we should look for standard and existing implementation
of this functionality.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Move component styling into CSS modules</title>
<updated>2021-05-12T20:50:49+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-11T13:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=873ddacf5abafe43fbc2b6c1033e473c3366dc62'/>
<id>873ddacf5abafe43fbc2b6c1033e473c3366dc62</id>
<content type='text'>
This change updates the frontend codebase by moving the component
styling into CSS module files as opposed to the global styles which we
used before. In addition, I have changed the syntax to the newer SCSS
syntax, which is more similar to CSS.

These changes reduces the styling conflicts that can occur between
components and allows us to migrate to systems that do not support
importing global styles in components. Moreover, we can benefit from
treeshaking using CSS modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the frontend codebase by moving the component
styling into CSS module files as opposed to the global styles which we
used before. In addition, I have changed the syntax to the newer SCSS
syntax, which is more similar to CSS.

These changes reduces the styling conflicts that can occur between
components and allows us to migrate to systems that do not support
importing global styles in components. Moreover, we can benefit from
treeshaking using CSS modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Remove unnecessary print statement</title>
<updated>2021-05-09T21:52:39+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-09T21:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=fd3fd4ce7a67bceedc8e3fc6894617b07350fae3'/>
<id>fd3fd4ce7a67bceedc8e3fc6894617b07350fae3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Update runtime variable workaround</title>
<updated>2021-05-09T11:12:21+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-09T11:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=f79c0872ddfcbe02a7bcc498b4a9d5d202caccd2'/>
<id>f79c0872ddfcbe02a7bcc498b4a9d5d202caccd2</id>
<content type='text'>
This change updates the workaround used to access runtime variables in
the React frontend, in order to improve the ergonimics when using the
development mode of CRA (Create React App).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the workaround used to access runtime variables in
the React frontend, in order to improve the ergonimics when using the
development mode of CRA (Create React App).
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Support runtime variables in frontend Docker image</title>
<updated>2021-05-05T12:50:38+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-05T12:50:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=e8bb95cb35ed1b02a85cf7cbea5bfc20fe0324c2'/>
<id>e8bb95cb35ed1b02a85cf7cbea5bfc20fe0324c2</id>
<content type='text'>
This change adds support for dynamically specifying various variables
for the frontend Docker image through environmental variables.
Previously, these were embedded directly into the source code, which
requires rebuilding the entire image to change these variables.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds support for dynamically specifying various variables
for the frontend Docker image through environmental variables.
Previously, these were embedded directly into the source code, which
requires rebuilding the entire image to change these variables.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Migrate to flat project structure</title>
<updated>2021-04-25T14:01:14+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-25T14:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=cd0b45627f0d8da8c8dc4edde223f3c36e9bcfbf'/>
<id>cd0b45627f0d8da8c8dc4edde223f3c36e9bcfbf</id>
<content type='text'>
This change updates the project structure to become flattened.
Previously, the simulator, frontend and API each lived into their own
directory.

With this change, all modules of the project live in the top-level
directory of the repository. This should improve discoverability of
modules of the project.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the project structure to become flattened.
Previously, the simulator, frontend and API each lived into their own
directory.

With this change, all modules of the project live in the top-level
directory of the repository. This should improve discoverability of
modules of the project.
</pre>
</div>
</content>
</entry>
</feed>
