palkerecsenyi / grammarer Goto Github PK
View Code? Open in Web Editor NEWGrammarer: A customisable grammar and vocab learning platform for schools
License: MIT License
Grammarer: A customisable grammar and vocab learning platform for schools
License: MIT License
Add a simple script CLI-only script (run like node reset-db.js
) which resets the database to its default settings, as if fresh from the repo - get user to confirm with Type y to continue
that all data will be deleted!
The images of command prompts are - indeed - very pretty, however, for a user trying to copy-paste commands straight into a shell, they are not very useful. Simple markdown node setup.js
would work perfectly.
When adding a code manually, I have unlimited length:
However, line 28 of https://github.com/palkerecsenyi/grammarer/blob/master/frontend/views/home.html:
<input id="g-code" class="input is-medium" type="text" placeholder="Code..." ng-model="code" maxlength="7">
means that a code could potentially be created, which the user cannot enter, as it would be longer that 7 chars.
The current system of deployments is rather confusing for a teacher. I propose a different system, using 'cohorts' rather than deployments.
Each school class is a 'cohort', for example, y9-gm3
(Year 9 German, set 3), and each cohort has student members, who have a normal access code, eg 1234
. On the login page, there are two boxes, cohort and access code. The cohort box is a plaintext drop down list, of all cohorts which exist. The access code is a masked text box, maybe using https://github.com/benjamincharity/angular-keypad, as there will be no need for deployment prefixes. Users must enter both to be authenticated. This way, teachers are able to setup access to only certain vocab sections, for only certain cohorts, and permissions can be assigned on either a cohort, or student level - e.g. give the cohort staff
admin permissions and access to all vocab lists.
On installation of Grammarer, one cohort by default exists: staff
- these people can access the admin dashboard, create new cohorts, add students to them, and generate access codes. Then, assign a cohort a vocab list, verb table or PDF printable.
Tested on Raspberry Pi 3 - Raspbian Stretch.
It is not entirely obvious that one must install the NPM css
and mongodb
modules. Indeed, I had to look at ll. 1-3 of https://github.com/palkerecsenyi/grammarer/blob/master/setup.js to work this out.
Perhaps add instructions to do this in the README.md, or add a friendlier error message, rather than:
internal/modules/cjs/loader.js:596
throw err;
^
Error: Cannot find module 'css'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
at Function.Module._load (internal/modules/cjs/loader.js:520:25)
at Module.require (internal/modules/cjs/loader.js:650:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/opt/grammarer/setup.js:2:11)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
with instructions as to what to do to fix the error.
The current 'add code' system requires manual input of a code. Perhaps a 'generate random' button as default, which checks against the DB?
Also, do codes have to be numeric - alphanumeric codes give us 36 ^ 4 possibilities with a 4 digit code = 1679616 - I'd make these non-case sensitive.
Since issue #3 - I think that the admin dashboard might need re-modelling. Perhaps two tabs: 'all users' and 'all cohorts' to perform actions to a user and to a cohort - assigning permissions, adding, deleting etc. On the 'all users' page, we can filter by cohort, card, role and deployment, and by clicking on a cohort name, we are sent to the cohorts tab, and view all in that cohort.
For PDF generation - a modal opens when you click on a button at the bottom of either tab, with tick-boxes for users / cohorts to select if to be printed, and then a print button. I think it may help if the PDF also includes generation time / date, the user who did the generation, and each little coloured box should also show the cohort name.
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.