Central computer for displaying messages to the audience. Note: Project is currently in development.
(Only for developers working on project)
Clone the project and install dependencies:
git clone https://github.com/npsinr-elections/edison-central.git
npm install
npm install --dev
To build the project, run:(requires gulp-cli to be installed)
npm run build
This build the project to the build
directory in the root of the project.
Note: Check src/gulpfile.js for more gulp tasks.
To build executables for the project, run:
npm run dist
This generated windows and linux executables to the dist
directory.
Also, to run the linter for the project, use:
npm run lint
(VSCode should do this for you automatically while you code)
Build Note:
- The gulp task will bundle client sides scripts in src/clients/assets/scripts only if they are defined as an entry point in clientTsBuilders() in ./gulpfile.js
To run the server:
npm run server
Optionally, during development use:
npm run dev
This will automatically restart the server when any file in ./build is changed.
- Use semantic commit messages
- Comment code when intention not obvious.
- Don't use javascript in ./src. Only code typescript.
- Ensure tslint is used before every commit. Recommend to use VSCode editor (with tslint extension) to automate this.
- Always code only in the src directory, ./build is ONLY meant for built files and is ignored by the gitignore.
- All express routes returning a response must comply with JSON API
- On the client side, prefer jquery $ methods over equivalent JS functions where possible.
- Classes and functions must be documented with JSDoc.