mottaquikarim / spectacles Goto Github PK
View Code? Open in Web Editor NEWinitial spec for how content should be defined for problems / tests
initial spec for how content should be defined for problems / tests
User must supply valid (ie: in existence) UUID, something like:
$ npm run-script update-problem -uuid=XXX-XXXX-XXXX
If UUID is found, open FE with content displayed, ready for updates
Replace personal access token approach with a github login
NOTE: this will require webtask and/or some other type of proxy
Update the app/index.js
to open the FE page so user can view the content in a UI for editing upon successful completion of the new-problem
and update-problem
scripts
For unit tests, ava.js
seems quite attractive. However, open to other libs as well - as long as we have a good case for why to use. We should implement unit tests across the board, for the scripts, the server and the FE
As part of this task, put together a reasonable framework for functional testing - Robot Framework is quite attractive - there may be a version for NodeJS as well. We want to functional test the API endpoints and the scripts, minimally.
Allow user to submit a PR directly from the workspace UI
Essentially, on git commit / push, we want to walk through all existing content items and regenerate .compiled
files that concatenate all the subfiles that exist in it.
This is mainly a measure for efficiency, should we need it in the future.
As an alternative, this could be just a script that is run in CI/CD pipeline on deployment to "prod".
If user opens up FE app without UUID query param, retrieve a reasonable number of created problems and implement pagination for the ability to browse,
Given that functional tests framework is up and running, write ftests that assert:
Currently, we have an envvars.sample
that is supposed to be a template for any required / important envvars that docker environment needs to run.
As of now, this is mainly empty, project is super simple rn but if we ever wanted to pull out envvars from Travis CI and pipe into build, this would be the way to do it.
The main issue is, docker requires envvars
file, not envvars.sample
, the sample extension exists mainly to discourage accidental pushes of sensitive secrets to scm. This should not be a problem when using make and npm-scripts targets for various processes, but it may become an issue if one wants to run docker compose cmds directly /do something custom.
The ALTERNATIVE would be to simple commit envvars to SCM and tack on a bid ol' warning on top of file to NOT commit sensitive material.
Whatdoyathink? I can go both ways.
@mmosayed? Anyone else? (@crymall already looked at this, wanted to defer to community at large).
Badges should be added to the top of the README file
Mainly to unit test the scripts and utils, consider using ava.js or mocha/chai
Ideally, we want this to only run on master. This should ensure there are no conflicts between various problems added on merge.
Consider this resource as an approach to implementation: https://gist.github.com/willprice/e07efd73fb7f13f917ea
Implement a CI pipeline, travis/buildkite are both good options (travis being quite popular).
There should be a testing stage and a deployment stage involved.
Add field to FE for user to load in, search, and apply existing or new tags to a problem. The act of adding a tag should call a separate API endpoint which updates .contentrc
as appropriate.
ALSO: implement this API endpoint
only runs in content-
prefixed branches
In public
, we wish to create a simple FE app that will allow a user to edit all content per problem.
Otherwise, there will be length mismatches and more menacingly, lost data re: tags.
Alternatively, recompute this every time a script is run, keeping track of commit SHA or some other tracking metric.
Essentially, in a meta.json
associate human readable title with UUID
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.