Skip to content
This repository has been archived by the owner on Aug 28, 2020. It is now read-only.

Commit

Permalink
Merge branch 'release/1.0.0-beta.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
abrain committed Aug 26, 2020
2 parents 4db23c7 + 15ca9e6 commit 6d616a6
Show file tree
Hide file tree
Showing 118 changed files with 6,552 additions and 8,013 deletions.
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*
!config/default.json
!config/production.json
!ext-console
!ext-display
!lib
!public
!package.json
!package-lock.json
!LICENSE
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
51 changes: 34 additions & 17 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
{
"env": {
"commonjs": true,
"es6": true,
"node": true
},
"extends": [
"standard"
"env": {
"es6": true,
"node": true
},
"parserOptions": {
"parser": "@typescript-eslint/parser",
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"extends": [
"plugin:@typescript-eslint/recommended"
],
"rules": {
"indent": [
"error",
2
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018
},
"root": true,
"rules": {
}
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-interface": "off"
}
}
117 changes: 112 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,114 @@
node_modules
.idea
.env
build
# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# Commenting this out is preferred by some people, see
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
node_modules

# Users Environment Variables
.lock-wscript

# IDEs and editors (shamelessly copied from @angular/cli's .gitignore)
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

### Linux ###
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

### OSX ###
*.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### Windows ###
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

# Others
lib/
data/
config/development.json
ext-display
ext-console
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ node_js:
- 12
- 10

services:
- mysql

branches:
except:
- /^feature\/[-\w]+$/
Expand All @@ -20,6 +23,7 @@ jobs:
after_script: skip

before_script:
- mysqladmin --user root create display_backend
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
Expand Down
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Always use the current LTS version of Node.js
FROM node:lts

WORKDIR /app

# In production, the server runs on port 8080
EXPOSE 8080

# Copy the important files, see .dockerignore
COPY . /app

# install dependencies
RUN npm install --only=production --no-audit

# run as unprivileged user
USER node:node

CMD ["node", "lib/index.js"]
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ While it maintains a [Socket.IO](https://socket.io/) connection with the Display
## Development
In order to run a development version on your local system, you need a [Node.js](https://nodejs.org/) environment and a MariaDB instance.
Clone the repository and run `npm install` inside the project folder to install all the dependencies.
Then create a `.env` file based on `.env.example` and adapt it to your local setup.
Create a file called `development.json` in the `config/` folder, which lets you override single properties of `config/default.json`.
At minimum, you will need the `mysql` property to set up the database connection.

Start the development server by running `npm run dev`, it will automatically restart when files have changed.
Now you can access the server on http://localhost:3000 (may be a different port if you changed it in the `.env` file).
Now you can access the server on http://localhost:3031.

### Libraries and frameworks
This project uses the following libraries or frameworks, please refer to their documentation as well.
- [FeathersJS](https://feathersjs.com/)

## Deployment
At the moment, this project is not ready for deployment outside of a development environment.

## API
The server offers an OpenAPI specification under `/api-docs.json` that can be used with tools like [Swagger UI](https://swagger.io/tools/swagger-ui/).
Loading

0 comments on commit 6d616a6

Please sign in to comment.