christianmurphy / nicest Goto Github PK
View Code? Open in Web Editor NEWnicely integrating complex education software together
License: MIT License
nicely integrating complex education software together
License: MIT License
twitter bootstrap needs to be white listed so that the page renders correctly.
Add an additional <any>
field in the XML for both user and team that can store currently non-standard metadata into mongoose
Currently it is difficult to tell which is selected.
Also look into switching between the two, which is flaky on staging server.
Create a page after the Code Project has been created clearly communicating the success or failure to the user
Currently state store Github username when selecting users.
Switch this to use the internal UUID for the user instead.
This will remove Github dependence and allow for other source control to be used in the future.
Add a message bubble below with a link to the user/team recipe to add some.
Node JS 4 is bringing memory fixes.
As well as some new ES6 features.
Most notably arrow functions will now be stable.
This will allow prefer-arrow-callback
to be enabled in ESLint.
And require some testing to ensure that the application is still stable.
This will be blocked until NodeGit updates to nan 2.
Add in some basic Route and Error logging to get a better idea what is going on in the application.
Find a way for each plugin to establish webhooks that can be activated when other plugins have also been activated.
For example:
When both the Github plugin and the Travis CI plugin are enabled, ensure Travis CI is given web hook access to test commits and pull requests automatically.
something like
๐ฅ Team A
ย ๐ค Person A
ย ๐ค Person B
possibly collapsible teams
To allow plugins to move JavaScript into separate file.
And remove the unsafe-inline
from security policy.
Let the user know that XML has successfully been imported
In the NPM packaged version of the application /docs
results in a 404 instead of the expected JSDoc pages.
Ensure that all individuals and team members are added to their Taiga boards
Currently the UI shows the hashed user id. The actual names would be easier to navigate through.
This would add an additional layer of abstraction over the current task system.
Allowing a recipe to register an intent, and server plugins could offer the service.
For example a 'Repository' intent could be answered by a Github, Bitbucket or Gitlab plugin.
Currently the abstraction is
New abstraction would likely look like
This would be a platform change to attempt to simplify and future proof the code.
Challenges
This would bring back the challenge that brought me to the Resource/Recipe pattern in the first place.
How would independent plugins register requirement or mutual exclusivity?
While maintaining loose coupling?
For example Github issues requires a Github repo.
And Github issues are mutually exclusive to a Bucket repo.
Related to #5
ref https://developer.android.com/guide/components/intents-filters.html
Currently when saving a user page silently reloads.
Add a message saying that there was success.
Currently code project recipe requires a seed repository be selected.
Change this to instead offer the option to have a seed repository.
Or to name give the prefix name for the repository.
Since the Github Recipe and the Taiga Recipe are intended to be used together.
It would be best to break the (currently monolithic) Github Recipe into several tasks.
Then create Taiga tasks.
This will allow for the Recipe to be a flow, instead of being the logic.
Offer a way to manage Github Organizations, Teams, Issues and Repositories from inside Nicest.
Most likely this will leverage an existing library.
Promising libraries include, but are not limited to:
Currently the cookie manager yar
has a hard-coded secret key.
Add CLI option to change that key.
Currently docs require using back, or changing the url to go back home.
Modify the docs template so there is a page header for simpler navigation to the main routes.
As the project grows and plugins become more diverse, it would be best for each plugin to have its own repository.
To be able to use plugins, they would need to be bundled. Most likely using NPM packages or git submodules.
Currently the preferred method would be using NPM packages, and offering a thin wrapper around NPM to simplify the installation process. Something even simpler than APM.
This currently presents a number of challenges:
Taiga is a project management and issue tracking tool.
This plugin looks use the Taiga API to be able to
Optional But Awesome
Create and document an import format for pulling in individual and team information
Currently each piece of information has its own tag
https://github.com/ChristianMurphy/nicest/blob/master/modules/code-project/view/handler.js#L169-L177
Change up the state so that each plugin is stored as an object, and can be saved or retrieved in a single operation.
Depends on #13
Would offer a single command setup for Nicest + external services.
E.G.
Separate containers for Nicest, Mongo db and Taiga could be created, setup and run using a single command.
This is a stub to keep track of security features that should be added to Nicest in the near future.
Currently every session that creates a git project, that has a seed code base, shares the same temp
folder.
Leaving the potential for two or more concurrent users to overwrite/corrupt/break each other's sessions.
This should be resolved in the same way that Hapi handles file uploads, download to the OS temp folder and have the file/folder name be a random unique identifier.
In the Github Plugin, when going back to previous steps, the saved values should be restored.
A plugin that allows a teacher to select list of students (or all the students in a course) and a Github seed repository.
And generates a forked repository for each individual student.
Generate a Docker file as another easy setup option for Nicest.
Currently the recipe does not warn if user is missing a Taiga email or Github Username.
And the recipe will fail if it is not present.
Add a warning on the confirm page that user/team is missing information.
And make the recipe running soft fail (no add users with missing information).
After Creating/Saving a User show a message alerting user that save was successful.
Also have a 'Cancel' button that bring user back to list view.
Currently there is only a 'next' button.
Add in a 'previous' button as well.
This plugin should have a login, be able to list scrum boards.
And house some basic abstractions for accessing Taiga.
It would be nice if this could be made to work similar to Octokat.
Depends on #71
Create a Recipe to import team and individual information into Nicests internal Mongo db store.
This is a tracking issue for plugins/features that cannot be used with Ubuntu 12.04 that Travis CI currently uses.
Latest production is using PM2 to run the service.
Add documentation on how to properly setup PM2 to run nicest.
This will allow for private repositories to be cloned
On return to a page from confirm add a new confirm button
Since the Github Login can now be called by other plugins is should mention 'Login to Github' in the header of the content.
Ensure that the Team views have the same CRUD operations in the UI that the Users plugin already has.
Currently docs require using back, or changing the url to go back home.
Modify the docs template so there is a page header for simpler navigation to the main routes.
Currently the toggle is being affected by intermediate caching and doesn't always toggle properly
Creating a new user and not adding anything to the modules
field results in a 400 error.
Either automatically add {}
automatically, or change the validation to allow for empty.
Allows a teacher to select teams, and a seed Github Repository.
Recipe will generate teams on Github, and create a fork for each team.
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.