Git Product home page Git Product logo

grammarer's People

Stargazers

 avatar

grammarer's Issues

Suggestion: Reset CLI script

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!

README.md - command prompt images

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.

Suggestion: User registration

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.

README.md - NodeJS packages

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.

Suggestion: Code generation

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.

Bug: Never ending swirl on bad code add

image

If I attempt to create a code which already exists (eg. 1571 in cohort rabbit1 above), I get a JS alert(), however, the spinning white logo does not stop spinning, meaning I have to refresh the page to try again.

Suggestions: Admin dashboard

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.