| Age | Commit message (Collapse) | Author |
|
This pull request removes the hard dependency on Google for
authenticating users and migrates to Auth0 as Identity Provider for OpenDC.
This has as benefit that we can authenticate users without having to manage
user data ourselves and do not have a dependency on Google accounts anymore.
- Frontend cleanup:
- Use CSS modules everywhere to encapsulate the styling of React components.
- Perform all communication in the frontend via the REST API (as opposed to WebSockets).
The original approach was aimed at collaborative editing, but made normal operations
harder to implement and debug. If we want to implement collaborative editing in the
future, we can expose only a small WebSocket API specifically for collaborative editing.
- Move to FontAwesome 5 (using the official React libraries)
- Use Reactstrap where possible. Previously, we mixed raw Bootstrap classes with
Reactstrap, which is confusing.
- Reduce the scope of the Redux state. Some state in the frontend application can be
kept locally and does not need to be managed by Redux.
- Migrate from Create React App (CRA) to Next.js since it allows us to pre-render
multiple pages as well as opt-in to Server Side Rendering.
- Remove the Google login and use Auth0 for authentication now.
- Use Node 16
- Backend cleanup:
- Remove Socket.IO endpoint from backend, since it is not needed by the frontend
anymore. Removing it reduces the attack surface of OpenDC as well as the maintenance efforts.
- Use Auth0 JWT token for authorizing API accesses
- Refactor API endpoints to use Flask Restful as opposed to our custom in-house
routing logic. Previously, this was needed to support the Socket.IO endpoint,
but increases maintenance effort.
- Expose Swagger UI from API
- Use Python 3.9 and uwsgi to host Flask application
- Actualize OpenAPI schema and update to version 3.0.
**Breaking API Changes**
* This pull request removes the users collection from the database table. Instead, we now use the user identifier passed by Auth0 to identify the data that belongs to a user.
|
|
This change updates the API server to run by default using Python 3.9.
|
|
This change switches one of the CI builds to use Java 16 when building
and testing the simulator.
|
|
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.
|
|
This change updates the publish workflow to support pushing images with
the new docker/build-push-action version.
|
|
This change updates the publish workflow to use
docker/build-push-action@v2. The previous version is deprecated and does
not support some of the parameters that we need.
|
|
This change updates the release workflow to create a draft release when
a new tag is pushed. This allows us to write a release description as
well as organize the publication of the components on Maven Central,
etc.
|
|
|
|
This change adds a workflow step that publishes the release to Maven
Central using Gradle.
|
|
This change adds a new Github Actions workflow that publishes the Docker
images on publication of a new Github release.
|
|
This change adds a new Github Actions workflow that is triggered when a
new tag is pushed. This workflow will automatically build the project
and create a new Github release.
|
|
This change merges the three CI builds for the simulator, frontend and
API into a single workflow that builds the components in separate,
independent jobs.
|
|
This change fixes the references to the frontend and API modules that
were invalidated due to the restructuring of project in the previous
commit.
|
|
|
|
This change updates the Github Actions workflow configuration to
generate test reports for the simulator CI builds.
|
|
This change enables Codecov coverage reports when building changes.
|
|
This change will cause the CI to only trigger when opening a pull
request.
|
|
This change updates the deployment workflow for opendc.org due to
changes on the server.
|
|
|
|
This change updates the Github Actions workflow for the simulator to
test both Java 8 and Java 15.
|
|
|
|
This change adds a workflow to the repository which will automate the
deployment to opendc.org in case of new changes. The production version
will live on the prod branch.
Implements #33
|
|
This change fixes the conditional Github Actions trigger that we use to
only trigger CI invocations for the changed subprojects. Previously,
Github Actions was only triggered when a file in the top-level directory
of the subproject was changed.
|
|
This change renames the web-server component to API in order to be more
descriptive of its role. The OpenDC API bridges between the frontend on
one side and the database and simulator on the other side.
|
|
This pull request selectively enables the build workflows for the three
subproject based on the changed files in the commit.
|
|
|
|
|
|
|
|
|
|
|