{"id":17184023,"url":"https://github.com/nlknguyen/grading-app","last_synced_at":"2025-07-27T05:32:16.801Z","repository":{"id":89987147,"uuid":"48509535","full_name":"NLKNguyen/grading-app","owner":"NLKNguyen","description":"Cross-platform desktop application for grading students' assignments (built with NW.js)","archived":false,"fork":false,"pushed_at":"2017-01-27T04:54:17.000Z","size":90,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-14T01:00:01.884Z","etag":null,"topics":["angularjs","classroom","cross-platform","desktop-application","nodejs","nwjs"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NLKNguyen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-12-23T20:22:40.000Z","updated_at":"2019-02-07T11:53:12.000Z","dependencies_parsed_at":"2023-05-30T19:45:50.199Z","dependency_job_id":null,"html_url":"https://github.com/NLKNguyen/grading-app","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"dc25d33738e48186ca44954e9e207a2036f840a8"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLKNguyen%2Fgrading-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLKNguyen%2Fgrading-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLKNguyen%2Fgrading-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLKNguyen%2Fgrading-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NLKNguyen","download_url":"https://codeload.github.com/NLKNguyen/grading-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227769395,"owners_count":17817119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angularjs","classroom","cross-platform","desktop-application","nodejs","nwjs"],"created_at":"2024-10-15T00:42:12.325Z","updated_at":"2024-12-02T17:13:59.530Z","avatar_url":"https://github.com/NLKNguyen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grading App\n[![license](https://img.shields.io/github/license/NLKNguyen/grading-app.svg?maxAge=2592000)](https://github.com/NLKNguyen/grading-app/blob/master/LICENSE) [![](https://img.shields.io/github/issues-raw/NLKNguyen/grading-app.svg?maxAge=2592000)](https://github.com/NLKNguyen/grading-app/issues) [![](https://img.shields.io/github/issues-closed-raw/NLKNguyen/grading-app.svg?maxAge=2592000)](https://github.com/NLKNguyen/grading-app/issues)  [![Travis CI Build Status](https://travis-ci.org/NLKNguyen/grading-app.svg?branch=master)](https://travis-ci.org/NLKNguyen/grading-app)[![GitHub release](https://img.shields.io/github/release/NLKNguyen/grading-app.svg)](https://github.com/NLKNguyen/grading-app/releases)\n\u003c!--[![Github All Releases](https://img.shields.io/github/downloads/NLKNguyen/grading-app/total.svg)](https://github.com/NLKNguyen/grading-app/releases)--\u003e\n\n\nCross-platform (offline/standalone) desktop application for grading students' assignments. Click \u0026 Run -- no additional softwares needed.\n\n## Download prebuilt distributions\n=\u003e [https://github.com/NLKNguyen/grading-app/releases](https://github.com/NLKNguyen/grading-app/releases)\n\nAvailable for **macOS** 64bit, **Linux** 32/64bit, and **Windows** 32/64bit\n\n## Screenshots\n\n![Home](https://cloud.githubusercontent.com/assets/4667129/22324558/efc739da-e35e-11e6-8cb7-24408adb706b.png)\n\n![Menu](https://cloud.githubusercontent.com/assets/4667129/22324556/efc61032-e35e-11e6-8a4d-18c15adeaee6.png)\n\n![Filter](https://cloud.githubusercontent.com/assets/4667129/22324554/efc32566-e35e-11e6-918b-f9ed7c4ef380.png)\n\n![Details](https://cloud.githubusercontent.com/assets/4667129/22324555/efc51cd6-e35e-11e6-8066-b95fe6f9dd24.png)\n\n![Summary](https://cloud.githubusercontent.com/assets/4667129/22324557/efc72972-e35e-11e6-881f-e323e6c3fc25.png)\n\n![Criteria](https://cloud.githubusercontent.com/assets/4667129/22324559/efc83790-e35e-11e6-962c-149e7826b109.png)\n\nDEVELOPMENT\n===========\n\n## Technology overview\n\nThis is built with [NW.js](https://github.com/nwjs/nw.js/) (previously known as Node-Webkit). It's a runtime based on Chromium and Node.js that allows web applications to run as native on multiple platforms (macOS, Linux, Windows)\n\n* Language: JavaScript (ES2015), HTML, CSS\n\n* Framework: [AngularJS 1.x](https://angularjs.org/) (Google's MVC front-end web framework)\n\n* User Interface: [Angular Material](https://material.angularjs.org/) + [Material Design Lite](http://www.getmdl.io/)\n\n* Database: [NeDB](https://github.com/louischatriot/nedb) (Embedded NoSQL datastore)\n\n* Ultility: \n  * [LoDash](https://lodash.com/) (Awesome functional programming library for data manipulation)\n  \n  * [Babel](https://babeljs.io/) (ES2015 to ES5 transpiler)\n\n  * [Gulp](https://github.com/gulpjs/gulp) (Streaming build system)\n  \n  * and others\n\nThe codebase follows AngularJS 1.x [best practices](https://github.com/johnpapa/angular-styleguide)\n\n---\n## Build\n\n2 ways\n\n#### Directly on your terminal\nRequire Node.js and NPM to be available.\n\nAt project directory\n```\n$ npm install --production\n$ npm run bower-install\n$ npm run gulp-transpile\n```\n\n#### Or using nwjs-project Docker image\nAll you need is `Docker` and no other development programs are required on your machine. The Docker container already has Node.js and NPM as well as other utilities.\n\nAt project directory:\n```\n$ docker run --rm -it -v $(pwd):/mnt nlknguyen/nwjs-project --shell\n```\n*Explain*: // TODO\n\n*Note for Windows*: // TODO\n\nOnce you are inside the container shell, run build commands normally like above:\n```\n$ npm install --production\n$ npm run bower-install\n$ npm run gulp-transpile\n```\n\n----\n\n## Install NW.js\n\n2 ways\n#### Normally\nThis is a typical NW.js app, so you can follow [NW.js documentation](http://docs.nwjs.io/en/latest/For%20Users/Getting%20Started/#get-nwjs) to install NW.js.\n\n#### Or using nwjs-project Docker image\n\nThe [nwjs-project](https://hub.docker.com/r/nlknguyen/nwjs-project/) Docker image includes NW.js runtime binaries for all supported architectures. The following command will bring the target runtime to your project directory under a subdirectory `nwjs-sdk`\n```\n$ docker run --rm -v $(pwd):/mnt nlknguyen/nwjs-project --nwjs-sdk=\"[ARCH]\"\n```\n\nWhere `[ARCH]` can be one or many of `win-x64 win-ia32 linux-x64 linux-ia32 osx-x64` (separated by a space)\n\nFor example, on macOS you will do: \n```\n$ docker run --rm -v $(pwd):/mnt nlknguyen/nwjs-project --nwjs-sdk=\"osx-x64\"\n```\n\n----\n\n## Run\n\nAt project directory\n```  \n$ [path to NW.js binary] .\n```\n\nIf you use the above Docker image, a shortcut is already added to your directory so you can just double click on it. For example, it will be something like `nwjs-sdk.linux-x64.desktop` for Linux architecture or `nwjs-sdk.osx-x64.command` for macOS architecture.\n\n## Package\n\nYou can package it just like any other NW.js app (see [documentation](http://docs.nwjs.io/en/latest/For%20Users/Package%20and%20Distribute/)). Or simply use nwjs-project Docker image to package for different OSes automatically.\n```\n$ docker run --rm -v $(pwd):/mnt nlknguyen/nwjs-project --package=\"[ARCH]\" --name=\"grading-app\"\n```\n\nWhere `[ARCH]` can be one or many of `win-x64 win-ia32 linux-x64 linux-ia32 osx-x64` (separated by a space). Without specifiying the architectures (i.e. `--package` only), it will package for all architectures.\n\nThe distributions are located in `release` subdirectory, and they are all zipped.\n\n## CI/CD\n\n// TODO: explain later\n\n## Todo\n* End-user documentation\n* Dev documentation\n\n# License MIT\nCopyright © 2015-2016 Nguyen Nguyen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlknguyen%2Fgrading-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnlknguyen%2Fgrading-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlknguyen%2Fgrading-app/lists"}