Codacy cleanup
This commit is contained in:
parent
6195391cff
commit
7d0f5041f9
1
.github/ISSUE_TEMPLATE.md
vendored
1
.github/ISSUE_TEMPLATE.md
vendored
@ -11,4 +11,3 @@
|
||||
### Browser(s) used:
|
||||
|
||||
### Paste contents of `api/logs/api.log` if available:
|
||||
|
||||
|
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,7 +1,3 @@
|
||||
Fixes # .
|
||||
|
||||
Changes made in this PR:
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
language: php
|
||||
php:
|
||||
- '7.0'
|
||||
- '7.1'
|
||||
- '7.2'
|
||||
- '7.3'
|
||||
- '7.4'
|
||||
script:
|
||||
- npm test
|
||||
before_script:
|
||||
- nvm install 10
|
||||
- nvm use 10
|
||||
- nvm install 13
|
||||
- nvm use 13
|
||||
- npm i -g npm@6
|
||||
- npm i
|
||||
- touch tests.db
|
||||
|
@ -2,14 +2,13 @@
|
||||
|
||||
### New Features
|
||||
|
||||
* Complete re-write
|
||||
* Conversion script for migrating to new database format (sqlite only)
|
||||
* Complete re-write
|
||||
* Conversion script for migrating to new database format (sqlite only)
|
||||
|
||||
### Updates
|
||||
|
||||
* N/A
|
||||
* N/A
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* N/A
|
||||
|
||||
* N/A
|
||||
|
142
README.md
142
README.md
@ -10,9 +10,10 @@ The goal of TaskBoard is to provide a simple and clean interface to a functional
|
||||
|
||||
### Prerequisites
|
||||
|
||||
A web server running PHP 7.x with sqlite enabled (it may work on PHP 5.6, but is not supported).
|
||||
A web server running PHP 7.x with sqlite enabled (it may work on PHP 5.6, but
|
||||
is not supported). See [PHP Supported Versions](https://www.php.net/supported-versions.php).
|
||||
|
||||
The server must have `sqlite3` and `php7-sqlite` (or `php5-sqlite`) installed.
|
||||
The server must have `sqlite3` and `php7-sqlite` installed.
|
||||
|
||||
If you're comfortable changing code, you can use any database [supported by RedBeanPHP](http://www.redbeanphp.com/index.php?p=/connection).
|
||||
|
||||
@ -20,15 +21,16 @@ If you're comfortable changing code, you can use any database [supported by RedB
|
||||
|
||||
Installing TaskBoard is as easy as 1, 2, 3!
|
||||
|
||||
1. Download [the latest release](#) (or whatever version you want)
|
||||
2. Extract it to your webserver
|
||||
3. Verify the `api` directory is writable
|
||||
1. Download [the latest release](#) (or whatever version you want)
|
||||
2. Extract it to your webserver
|
||||
3. Verify the `api` directory is writable
|
||||
|
||||
### Server Config
|
||||
|
||||
#### Apache
|
||||
|
||||
The directory you create for TaskBoard must have `AllowOverride` set so the .htaccess files work.
|
||||
The directory you create for TaskBoard must have `AllowOverride` set so the
|
||||
`.htaccess` files work.
|
||||
|
||||
You also have to have `mod_rewrite` installed and enabled.
|
||||
|
||||
@ -42,68 +44,90 @@ See the [Wiki Page](https://github.com/kiswa/TaskBoard/wiki/TaskBoard-on-IIS)
|
||||
|
||||
### First Use
|
||||
|
||||
Open a web browser to the location you installed TaskBoard and use `admin` as the username and password to log into TaskBoard.
|
||||
Open a web browser to the location you installed TaskBoard and use `admin` as
|
||||
the username and password to log into TaskBoard.
|
||||
|
||||
Go to the `Settings` page to update your user (username, email, password, *etc.*) and create your first board!
|
||||
Go to the `Settings` page to update your user (username, email, password,
|
||||
*etc.*) and create your first board!
|
||||
|
||||
## Features
|
||||
|
||||
### Users & Settings
|
||||
|
||||
There are three types of users, and the settings page is slightly different for each.
|
||||
There are three types of users, and the settings page is slightly different
|
||||
for each.
|
||||
|
||||
* User - View boards assigned to them and update their own settings and options.
|
||||
* Board Admin - Same as above, with the ability to manage boards they are added to.
|
||||
* Admin - Same as above, with the ability to add/remove users and boards.
|
||||
* User - View boards assigned to them and update their own settings and options.
|
||||
* Board Admin - Same as above, with the ability to manage boards they are
|
||||
added to.
|
||||
* Admin - Same as above, with the ability to add/remove users and boards.
|
||||
|
||||

|
||||
|
||||
### Boards
|
||||
|
||||
Each board may have as many columns as needed. For example, a software project might have columns like:
|
||||
Each board may have as many columns as needed. For example, a software project
|
||||
might have columns like:
|
||||
|
||||
* Proposed
|
||||
* Backlog
|
||||
* In Work
|
||||
* Test
|
||||
* Done
|
||||
* Archived
|
||||
* Proposed
|
||||
* Backlog
|
||||
* In Work
|
||||
* Test
|
||||
* Done
|
||||
* Archived
|
||||
|
||||
Or maybe you want to track a simple todo list with just:
|
||||
|
||||
* Todo
|
||||
* Doing
|
||||
* Done
|
||||
* Todo
|
||||
* Doing
|
||||
* Done
|
||||
|
||||
It's all up to you! However many columns you have, each column may have tasks added to it, and tasks can be dragged to other columns as they progress (or edited and assigned to a new column).
|
||||
It's all up to you! However many columns you have, each column may have tasks
|
||||
added to it, and tasks can be dragged to other columns as they progress
|
||||
(or edited and assigned to a new column).
|
||||
|
||||
Boards may also have categories for additional organization, *e.g.* `Bug`, `Enhancement`, `New Feature`.
|
||||
Boards may also have categories for additional organization, *e.g.* `Bug`,
|
||||
`Enhancement`, `New Feature`.
|
||||
|
||||
### Tasks
|
||||
|
||||
A task only has to have a Title to be added to a board, but there is much more available. Tasks may be assigned to any user on the board (or left Unassigned), and include options for Due Date, Color, Points (an optional difficulty rating), and Category.
|
||||
A task only has to have a Title to be added to a board, but there is much more
|
||||
available. Tasks may be assigned to any user on the board (or left Unassigned),
|
||||
and include options for Due Date, Color, Points (an optional difficulty
|
||||
rating), and Category.
|
||||
|
||||
TaskBoard uses a [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#table-of-contents) parser for the Description, allowing for better display of details (like this readme).
|
||||
TaskBoard uses a [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#table-of-contents)
|
||||
parser for the Description, allowing for better display of details
|
||||
(like this readme).
|
||||
|
||||
Once a task has been entered, it may have Comments (also supporting Markdown) or Attachments added to it by viewing the task detail. There is a link to edit the task, which takes you to a modal much like the original add task dialog. For admin users, there is also a link to delete the task. This view also shows the task's activity log on the side of the screen, displaying the complete history of events related to the task.
|
||||
Once a task has been entered, it may have Comments (also supporting Markdown)
|
||||
or Attachments added to it by viewing the task detail. There is a link to edit
|
||||
the task, which takes you to a modal much like the original add task dialog.
|
||||
|
||||
For admin users, there is also a link to delete the task. This view also shows
|
||||
the task's activity log on the side of the screen, displaying the complete
|
||||
history of events related to the task.
|
||||
|
||||
## Development
|
||||
|
||||
Developing on TaskBoard is pretty simple too.
|
||||
|
||||
1. Clone the repository and navigate to it `git clone https://github.com/kiswa/TaskBoard && cd TaskBoard/`
|
||||
2. Run `git checkout dev` to work on the `dev` branch
|
||||
3. If you don't have it already, install the Angular CLI globally with `npm i -g @angular/cli`
|
||||
4. Run `npm i` to install dependencies (this also installs the API dependencies)
|
||||
5. Run `npm run watch` for the build to automatically run after any change.
|
||||
1. Clone the repository and navigate to it `git clone https://github.com/kiswa/TaskBoard && cd TaskBoard/`
|
||||
2. Run `git checkout dev` to work on the `dev` branch
|
||||
3. If you don't have it already, install the Angular CLI globally with `npm i -g @angular/cli`
|
||||
4. Run `npm i` to install dependencies (this also installs the API dependencies)
|
||||
5. Run `npm run watch` for the build to automatically run after any change
|
||||
|
||||
#### Unit Tests
|
||||
|
||||
Both the API and App are unit tested. To run all tests, use the command `npm run test`. For only one set, run `npm run test:api` or `npm run test:app`.
|
||||
Both the API and App are unit tested. To run all tests, use the command
|
||||
`npm run test`. For only one set, run `npm run test:api` or `npm run test:app`.
|
||||
|
||||
To have the app tests run & update as you work, use the command `npm run test:watch`.
|
||||
To have the app tests run & update as you work, use the command
|
||||
`npm run test:watch`.
|
||||
|
||||
If you want to run a single API test, add the following comment block before the test function and use the command `npm run test:api-single`.
|
||||
If you want to run a single API test, add the following comment block before
|
||||
the test function and use the command `npm run test:api-single`.
|
||||
|
||||
``` php
|
||||
/**
|
||||
@ -111,21 +135,27 @@ If you want to run a single API test, add the following comment block before the
|
||||
*/
|
||||
```
|
||||
|
||||
If you want to run a single App test, change the test from `it('should do something', ...);` to `fit('should do something', ...);` and only that test will run.
|
||||
If you want to run a single App test, change the test from
|
||||
`it('should do something', ...);` to `fit('should do something', ...);` and
|
||||
only that test will run.
|
||||
|
||||
These tests are run by [Travis CI](https://travis-ci.org/) on PRs and commits. A PR with failing or missing tests will not be merged.
|
||||
These tests are run by [Travis CI](https://travis-ci.org/) on PRs and commits.
|
||||
A PR with failing or missing tests will not be merged.
|
||||
|
||||
## Contributing
|
||||
|
||||
Fork the repository and make your changes on the `dev` branch.
|
||||
|
||||
Create a pull request against the `dev` branch to merge your changes with the main repository.
|
||||
Create a pull request against the `dev` branch to merge your changes with the
|
||||
main repository.
|
||||
|
||||
Make sure to include/update unit tests.
|
||||
|
||||
## Feedback
|
||||
|
||||
Constructive feedback is appreciated! If you have ideas for improvement, please [add an issue](https://github.com/kiswa/TaskBoard/issues) or implement it and submit a pull request.
|
||||
Constructive feedback is appreciated! If you have ideas for improvement, please
|
||||
[add an issue](https://github.com/kiswa/TaskBoard/issues) or implement it and
|
||||
submit a pull request.
|
||||
|
||||
If you find a bug, please post it on the [Issue Tracker](https://github.com/kiswa/TaskBoard/issues).
|
||||
|
||||
@ -133,19 +163,19 @@ If you find a bug, please post it on the [Issue Tracker](https://github.com/kisw
|
||||
|
||||
##### Front End
|
||||
|
||||
* [Angular](https://angular.io/) single-page app (not AngularJS)
|
||||
* [Bourbon](http://bourbon.io/) and [Neat](http://neat.bourbon.io/) SCSS library & grid
|
||||
* [scss-base](https://www.npmjs.com/package/scss-base) for the base styling
|
||||
* [marked](https://github.com/chjj/marked) Markdown parser
|
||||
* [dragula](https://github.com/bevacqua/dragula) Drag-and-drop
|
||||
* [Chartist.js](https://gionkunz.github.io/chartist-js/) for all charts
|
||||
* [Angular](https://angular.io/) single-page app (not AngularJS)
|
||||
* [Bourbon](http://bourbon.io/) and [Neat](http://neat.bourbon.io/) SCSS library & grid
|
||||
* [scss-base](https://www.npmjs.com/package/scss-base) for the base styling
|
||||
* [marked](https://github.com/chjj/marked) Markdown parser
|
||||
* [dragula](https://github.com/bevacqua/dragula) Drag-and-drop
|
||||
* [Chartist.js](https://gionkunz.github.io/chartist-js/) for all charts
|
||||
|
||||
##### Back End
|
||||
|
||||
* [Slim Framework](http://www.slimframework.com/) and [RedBeanPHP](http://www.redbeanphp.com/) for a RESTful API
|
||||
* [PHPMailer](https://github.com/PHPMailer/PHPMailer) for sending emails
|
||||
* [JWT](https://jwt.io/) authentication
|
||||
* [SQLite](https://www.sqlite.org/) database
|
||||
* [Slim Framework](http://www.slimframework.com/) and [RedBeanPHP](http://www.redbeanphp.com/) for a RESTful API
|
||||
* [PHPMailer](https://github.com/PHPMailer/PHPMailer) for sending emails
|
||||
* [JWT](https://jwt.io/) authentication
|
||||
* [SQLite](https://www.sqlite.org/) database
|
||||
|
||||
## Lines of Code
|
||||
|
||||
@ -155,11 +185,11 @@ Because I like seeing the numbers.
|
||||
|
||||
Language | Files | Blank | Comment | Code
|
||||
-------------|--------:|---------:|--------:|---------:
|
||||
TypeScript | 63 | 904 | 78 | 3932
|
||||
PHP | 19 | 624 | 27 | 1997
|
||||
HTML | 20 | 159 | 0 | 1479
|
||||
SASS | 14 | 269 | 12 | 1211
|
||||
__SUM:__ | __116__ | __1956__ | __117__ | __8619__
|
||||
TypeScript | 63 | 910 | 116 | 3913
|
||||
PHP | 19 | 628 | 27 | 2003
|
||||
HTML | 20 | 159 | 0 | 1482
|
||||
SASS | 14 | 269 | 12 | 1213
|
||||
__SUM:__ | __116__ | __1966__ | __155__ | __8611__
|
||||
|
||||
Command: `cloc --exclude-dir=vendor --exclude-ext=json src/`
|
||||
|
||||
@ -167,9 +197,9 @@ Command: `cloc --exclude-dir=vendor --exclude-ext=json src/`
|
||||
|
||||
Language | Files | Blank | Comment | Code
|
||||
-------------|-------:|---------:|--------:|---------:
|
||||
TypeScript | 24 | 723 | 0 | 2485
|
||||
TypeScript | 36 | 884 | 181 | 3110
|
||||
PHP | 11 | 742 | 16 | 2205
|
||||
__SUM:__ | __35__ | __1465__ | __16__ | __4690__
|
||||
__SUM:__ | __47__ | __1626__ | __197__ | __5315__
|
||||
|
||||
|
||||
Command: `cloc --exclude-ext=xml test/`
|
||||
|
@ -11,7 +11,8 @@ $color-table-row: lighten($color-text, 80%);
|
||||
$color-toggle-on: $color-primary;
|
||||
$color-toggle-off: $color-secondary;
|
||||
|
||||
$font-url: 'https://fonts.googleapis.com/css?family=Raleway:500|Pontano+Sans|Fira+Mono';
|
||||
$font-url:
|
||||
'https://fonts.googleapis.com/css?family=Raleway:500|Pontano+Sans|Fira+Mono';
|
||||
$font-name: 'Pontano Sans';
|
||||
$font-name-mono: 'Fira Mono';
|
||||
|
||||
|
Reference in New Issue
Block a user