0.4.2 • Published 4 years ago

express-admin-block v0.4.2

Weekly downloads
8
License
MIT
Repository
-
Last release
4 years ago

express-admin-block

npm version

Still in alpha testing.

A simple Express (4.0+) middleware for rendering an admin page, directly connected to your MongoDB database.

Current user is checked with req.user

The goal is to be a drop-in admin panel for Express apps.

You can add custom fields and will soon be able to add custom charts.

Made with Bootstrap 4, DataTables and Chart.JS.

Features

  • Render a table for your data
  • Choose fields to display
  • View complete user data object
  • Chart for evolution over time
  • Broadcast: send emails to all users
  • Send email to select users
  • Edit select users

Who uses it?

👋 Want to be listed there? Contact me.

Usage

Install the library

npm i express-admin-block

Include it in your app like this:

db represents an object of Mongoose schemas.

app.use('/admin', require('express-admin-block')({
	adminEmails: ['webmaster@website.com'], // User needs to be logged in 
	data: [{
		name: 'Users',
		type: 'mongoose',
		mongo: db.User,
		toShow: ['email', 'registered', 'plan'],
		dateField: 'registered'
	}, {
		name: 'Apps',
		type: 'mongoose',
		mongo: db.TrackedApp,
		toShow: ['name', 'created', { // Can either be strings (properties of your documents) or objects that include a 'render' **async** function
			name: 'Parent user':
			render: async (app) => {
				let user = await db.User.findById(app.parentUser).exec()
				return user.email
			}
		}],
		dateField: 'created'
	}]
}))
0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.3

5 years ago