A boilerplate, dashboard themed, application with user authentication capabilities. This is really just a side project for myself, but it's completely free for anyone to use.
- Bootstrap 4 - Layout and base styling
- HTML5 Boilerplate - Layout metadata and icons setup (Still currently using the favicon and icons from this boilerplate…)
- PostgreSQL - This app is built for accessing a PostgreSQL database. The module I use to broker this is Knex.js. Knex also supports other database management systems such as MySQL and SQLite3.
- Knex.js + Objection.js - An ORM module I have recently adopted onto the project.
- Passport - This module is used to authenticate and create user sessions when logging in.
- bcryptjs
- body-parser
- bootstrap
- connect-flash
- cookie-session
- dotenv
- express
- faker
- jquery
- knex
- node-sass-middleware
- objection
- passport
- passport-local
- pg
- popper.js
- pug
- serve-favicon
- chai
- chai-http
- eslint
- eslint-config-standard
- eslint-plugin-import
- eslint-plugin-node
- eslint-plugin-promise
- eslint-plugin-standard
- git-hooks
- gulp
- gulp-eslint
- gulp-nodemon
- gulp-plumber
- mocha
- mocha-eslint
- nyc
- run-sequence
- tiny-lr
- Create own favicon/icons
- User profile image
- MORE TESTS!
You need a set of CLI tools to run this app. Make sure you have Node Package Manager (npm) installed first.
- npm
- Knex.js
npm install -g knex
- Gulp
npm install -g gulp
- Mocha
npm install -g mocha
- PostgreSQL (client & CLI)
Make sure your database server is running for the installation.
These instructions assume you have installed the prerequisites, like using command-line, and you are using PostgreSQL as your DBMS. You can use other databases such as SQLite3 and MySQL according to Objection.js and Knex.js.
-
Clone this repository into your desired directory
$ git clone https://github.com/uzimike/FullFeatureX.git
-
Change the name of
.env-sample
to.env
. And make any necessary changes to the file variables. -
Go to application directory
$ cd directory-to/fullfeaturex
-
Install the dependencies
$ npm install
-
Enter the PostgreSQL CLI
$ psql
-
Create your database
# create database fullfeaturex;
-
Create your test database
# create database fullfeaturex_test;
-
Exit the PostgreSQL CLI
# \q
-
In the fullfeaturex directory, migrate knex
$ knex migrate:latest
-
Run the knex seed
$ knex seed:run
-
Run gulp
$ gulp
npm test
There are a few tests currently stored in fullfeaturex/test/*.js
. Have a look at mocha and chai to see how to use this. eslint is used to check for configurable coding syntax. nyc is used for testing coverage.
This project uses git-hooks and tests the project at every commit (only if there is any *.js
files in the commit).
In the development environment, there are three accessible users accounts in the user database.
Michael
username: Michael
password: michael
Borat
username: Borat
password: borat
Admin
username: Admin
password: admin
The rest that you see in the /users
page are faker accounts generated when seeding data into the database. The passwords are practically unknown.
I personally intend for this project to be my own work. However, if there are any improvements you'd like to suggest, you're more than welcome to contact me about it.
This project is licensed under the MIT License - see the LICENSE file for details