sci-oer / webapp Goto Github PK
View Code? Open in Web Editor NEWThe webapp for the project and the auto-builder webapp
License: GNU Affero General Public License v3.0
The webapp for the project and the auto-builder webapp
License: GNU Affero General Public License v3.0
This api should support polling to check if a has been completed or not.
GET /api/build/{id}
202
if it is not yet complete, the body should include some information about the progress201
if the build completed, information about the build should be included in the response body410
if the build failed, the body should include the reason why the build failedThe contents of the response body should be discussed here before implementation begins.
For local development and testing having a docker compose file that will run the webapp and its required other services should be added.
The landing page must have:
most of these features should be included as a base template file so that it can be included in every page without being hard coded into each.
This is the endpoint that will be called to create a new custom course container.
It must:
POST
API call (it is not safe and not idempotent)202 Accepted
the response body that includes an build ID to poll the status of the build. (the build ID can also be used by a websocket interface to subscribe to receive updates on the build429 Too Many
(rate limiting) if the same request is sent within a minute.Format and specific contents of the request / response bodies should be discussed before implementation is completed.
The login form should allow a user to sign in using a partner account (we do not want to maintain our own authentication database.
Inital partners should include:
Look at passport.js and what they require to be added to the frontend to support this.
To help make sure that the code style is consistent and that 'bad' commits dont get pushed use pre-commit hooks to help enforce the style and run the tests
eslint
jshint
(maybe)end-of-file-fixer
trailing-whitespace
Create the initial express.js webapp.
This should include the project skeleton and the initial project dependancies.
This api endpoint should retrieve the users login profile and some information to be rended in the frontend:
This may be combined with how the login page returns the information about the user that just logged in
A potential plan for this project is to kick off builds of new images non interactivity through CI pipelines that should be able to be granted scoped tokens to call the apis:
The initial implementation should grant 'simple' tokens that can be used for the Create container
API and the check build status
API's.
A more complicated alternative to this (that would be good to have implemented is to support github and gitlab OIDC pipeline authenticate and grant access for select workflows.
Related #11
GET /api/builds
This is an admin api endpoint that can be used to fetch all the build history.
all
, active
, successful
, and failed
with the default being all builds.An api should be implemented to view the fields of the previously build course containers.
This should be limited to the builds made by the currently authenticated user.
-GET /api/user/builds
page, limit
The response body should be discussed prior to implementation.
Although this image can be configured to include custom prepackaged content the content must be added manually.
To ease the usability of generating custom containers it would be beneficial to develop a webapp that can accept the inputs to create the container.
provide git repositories containing the content
provide a downloadable version of the image through a .zip file
push the image to an internal registry
push the image to a custom registry (ECR, dockerhub, github, other)
The form should accept all of the input options that are provided in the automated-builder cli.
on submit the form should prepare and send the api call to the webapp.
This should add a dockerfile to build and run the webapp.
The running of the webapp must be configurable through a config file and or envirionment variables)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.