Skip to content

Commit

Permalink
Update readme, package name, images, remove unused depedencies
Browse files Browse the repository at this point in the history
  • Loading branch information
santiq committed Apr 30, 2020
1 parent 6cf14dc commit a6494b3
Show file tree
Hide file tree
Showing 9 changed files with 53 additions and 11,115 deletions.
88 changes: 5 additions & 83 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,6 @@
1.0.0 / 2019-02-25
0.1.0 / 2019-04-30 - First public release
====
* Add Hapi v17 middleware, drop support for Node.js v6 & v7 (#81) by umens (**BREAKING**)
* Support Agenda version 2 by alexkwolfe (**BREAKING**)

0.5.0 / 2019-02-25
====

* Update dependencies (#69, #70) (**BREAKING**)
* Agenda `>=0.7.0 <1.0.0``^1.0.3` and thus require MongoDB v3+
* async `^1.0.0``^2.6.0`
* Drop support for Node.js v4 and v5 (might still work but we're stopping testing these) (**BREAKING**)
* Switch testing with Mocha to [Ava](https://www.npmjs.com/package/ava) (#70)
* Docker support (#54) by WoLfulus
* Fix 404 errors when deleting and re-queuing jobs (#61) by koresar

0.4.0 / 2016-10-27
==================

* (simison) Agenda dependency version `<1.0.0` to avoid breaking dependency.
* (loris) Fix #24 - Added indexes for faster queries.
* Fix #28 - Removed dependency on Mongo Driver.
* Added API tests with mocha and supertest. No frontend tests.

0.3.2 / 2016-06-30
==================

* (HugoCornu) Fix #19 "Schedule Job" - Don't repeat job if user didn't want it repeated

0.3.1 / 2016-04-12
==================

* (simison) Add engines key to package.json

0.3.0 / 2016-04-04
==================

* (bh-chaker) Schedule Job Feature - create new jobs from the UI
* Limit to 200 jobs on page, no UI for configuration

0.2.1 / 2016-03-25
==================

* (vziukas) Recurring job count and labels
* Fixed "queued" label colors

0.2.0 / 2016-03-18
==================

* (vziukas) Configurable title
* Middleware option moved to "options" object

0.1.1 / 2016-03-17
==================

* (vziukas) multiple instances of agendash can each have a separate agenda

0.1.0 / 2016-03-15
==================

* (rapidia) remove "arrow function" syntax for non-chrome browsers
* (ebourmalo) Fix the middleware usage and use a proper structure

0.0.5 / 2016-02-24
==================

* Batch requeue and delete
* Select All and Select None

0.0.4 / 2016-02-24
==================

* Select multiple jobs

0.0.2 / 2016-02-23
==================

* version bump so npm will update docs
* Added screenshots

0.0.1 / 2016-02-23
==================

* Initial Release
* New frontend written from scratch in vue.js
* Add search
* Add pagination
* Change default refresh interval to 60 seconds
72 changes: 37 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
# Agendash
[![Build Status](https://travis-ci.org/agenda/agendash.svg)](https://travis-ci.org/agenda/agendash)
<a href="https://slackin-ekwifvcwbr.now.sh/"><img src="https://slackin-ekwifvcwbr.now.sh/badge.svg" alt="Slack Status"></a>
[![Known Vulnerabilities](https://snyk.io/test/github/agenda/agendash/badge.svg?targetFile=package.json)](https://snyk.io/test/github/agenda/agendash?targetFile=package.json)
# Agendash 2

A Dashboard for [Agenda](https://github.com/agenda/agenda)
A modern, secure, and reliable dashboard for [Agenda](https://github.com/agenda/agenda) with search and pagination capabilities written in vue.js

---

### Features

- Job status auto-refreshes (2-second polling by default)
- Job status auto-refreshes (60-second polling by default)
- Schedule a new job from the UI
- Dive in to see more details about the job, like the json data
- Requeue a job (clone the data and run immediately)
- Delete jobs (Useful for cleaning up old completed jobs)
- Search jobs by name and metadata (supports for quering mongo Object Id)
- Pagination (Original version had limitiation to 200 results only)

### Notes

- Automatically creates additional indexes on several columns (See #24).

---

Expand All @@ -31,33 +27,33 @@ A Dashboard for [Agenda](https://github.com/agenda/agenda)

---

### Install
![Search for a job by name or metadata ](search.png)

```
npm install --save agendash
```
---

*Note*: `Agendash` requires mongodb version >2.6.0 to perform the needed aggregate queries. This is your mongo database version, not your node package version! To check your database version, connect to mongo and run `db.version()`.
# Motivation

### Standalone usage
At [Software On The Road](softwareontheroad.com/about) we've been using agenda and agendash for almost every project since 2017 but it always had its limitation.
And due to a critical security issue that we found on the server middleware, we decided to fork agendash and rewrote it from scratch.
At first, we tried to just patch the existing code but it was written in backbone.js, so it would be more effort to learn it that just use vue.js to re-create the existing features. After all, this is just a simple CRUD with pagination and search, nothing fancy.

Agendash comes with a standalone Express app which you can use like this:

```bash
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
```
# Roadmap
- [] Improve default security
- [] Compatibility with agenda v3
- [] Polish backend so it is more efficient
- [] Get more test coverage
- [] Add middlewares for KOA and other express-like libraries
- [] You decide!

or like this, for default collection `agendaJobs` and default port `3000`:
### Install

```bash
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb
```
npm install --save agendash2
```

If you are using npm >= 5.2, then you can use [npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b):
*Note*: `Agendash` requires mongodb version >2.6.0 to perform the needed aggregate queries. This is your mongo database version, not your node package version! To check your database version, connect to mongo and run `db.version()`.

```bash
npx agendash --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
```

### Middleware usage

Expand Down Expand Up @@ -113,17 +109,23 @@ app.use('/agendash', Agendash(agenda, {

Note that if you use a CSRF protection middleware like [`csurf`](https://www.npmjs.com/package/csurf), you might need to [configure it off](https://github.com/agenda/agendash/issues/23#issuecomment-270917949) for Agendash-routes.

### Additional options

The second argument to Agendash is an optional object. Valid keys are:
### Standalone usage

Agendash comes with a standalone Express app which you can use like this:

```bash
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
```

- `middleware`: Currently only `'express'` is supported. I'd like to use `'koa'` soon.
- `title`: Defaults to `"Agendash"`. Useful if you are running multiple Agenda pools.
or like this, for default collection `agendaJobs` and default port `3000`:

### Help appreciated
```bash
./node_modules/.bin/agendash --db=mongodb://localhost/agendaDb
```

There are several things I would like help with:
If you are using npm >= 5.2, then you can use [npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b):

- [ ] I'm rusty with Backbone. Clean up the client code. I wasn't sure on the best way to trigger and handle update events.
- [ ] Write some tests!
- [ ] Use Agendash and submit issues!
```bash
npx agendash --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
```
Binary file modified all-jobs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified job-details.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a6494b3

Please sign in to comment.