GeorgianCollege / express-mvc

This repo is for the @georgiancollege/express-mvc npm module
0 stars 1 forks source link
api authentication expressjs jwt mongoosejs nodejs passportjs

@georgiancollege/express-mvc

This package uses a MVC (Model-View-Controller) design pattern for the site structure.

It was designed for students at Georgian College (https://www.georgiancollege.ca/) but is publicly available.


Technologies used:


Installation:


npm i @georgiancollege/express-mvc -g


Usage:


> express-mvc <options> [folder]



Post Installation:

> npm install 
> npm run build


MVC Site Structure (JavaScript version):


express-mvc-js
├── Client
│   ├── Assets
│   │   └── images
│   │       └── .gitkeep
│   ├── Content
│   │   └── app.css
│   └── Scripts
│       └── app.js
├── Server
│   ├── Config
│   │   └── app.js
│   ├── Controllers
│   │   └── index.js
│   ├── Models
│   │   └── user.js
│   ├── Routes
│   │   └── index.js
│   └── Views
│       ├── error.ejs
│       └── index.ejs
├── .env
├── .gitignore
├── package.json
└── server.js

Notes:


MVC Site Structure (JavaScript version with handlebars):


express-mvc-js-hbs
├── Client
│   ├── Assets
│   │   └── images
│   │       └── .gitkeep
│   ├── Content
│   │   └── app.css
│   └── Scripts
│       └── app.js
├── Server
│   ├── Config
│   │   └── app.js
│   ├── Controllers
│   │   └── index.js
│   ├── Models
│   │   └── user.js
│   ├── Routes
│   │   └── index.js
│   └── Views
│       ├── error.hbs
│       ├── index.hbs
│       └── layout.hbs
├── .env
├── .gitignore
├── package.json
└── server.js

Notes:


MVC Site Structure (TypeScript version):


express-mvc-tsc
├── Client
│   ├── Assets
│   │   └── images
│   │       └── .gitkeep
│   ├── Content
│   │   └── app.css
│   └── Scripts
│       └── app.ts
├── Server
│   ├── Config
│   │   └── app.ts
│   ├── Controllers
│   │   └── index.ts
│   ├── Models
│   │   └── user.ts
│   ├── Routes
│   │   └── index.ts
│   └── Views
│       ├── error.ejs
│       └── index.ejs
├── .env
├── .gitignore
├── package.json
├── server.ts
└── tsconfig.json

Notes:


MVC Site Structure (TypeScript version with handlebars):


express-mvc-tsc-hbs
├── Client
│   ├── Assets
│   │   └── images
│   │       └── .gitkeep
│   ├── Content
│   │   └── app.css
│   └── Scripts
│       └── app.ts
├── Server
│   ├── Config
│   │   └── app.ts
│   ├── Controllers
│   │   └── index.ts
│   ├── Models
│   │   └── user.ts
│   ├── Routes
│   │   └── index.ts
│   └── Views
│       ├── error.hbs
│       ├── index.hbs
│       └── layout.hbs
├── .env
├── .gitignore
├── package.json
├── server.ts
└── tsconfig.json

Notes:


API Site Structure (JavaScript version):


express-mvc-api-js
├── Server
│   ├── Config
│   │   ├── app.js
│   │   └── db.ts
│   ├── Controllers
│   │   └── movie.js
│   ├── Models
│   │   └── movie.js
│   └── Routes
│       └── index.js
├── .env
├── .gitignore
├── movies.json
├── package.json
└── server.js


API Site Structure (TypeScript version):


express-mvc-api-tsc
├── Server
│   ├── Config
│   │   ├── app.ts
│   │   └── db.ts
│   ├── Controllers
│   │   └── movie.ts
│   ├── Models
│   │   └── user.ts
│   └── Routes
│       └── index.ts
├── .env
├── .gitignore
├── movies.json
├── package.json
├── server.ts
└── tsconfig.json

Notes:


API Site Structure (JavaScript version) includes JWT Authentication:


express-mvc-api-auth-js
├── Server
│   ├── Config
│   │   ├── app.js
│   │   └── db.ts
│   ├── Controllers
│   │   ├── auth.js
│   │   └── movie.js
│   ├── Models
│   │   ├── movie.js
│   │   └── user.js
│   ├── Routes
│   │   ├── auth.js
│   │   └── index.js
│   └── Util
│       └── index.js
├── .env
├── .gitignore
├── movies.json
├── package.json
└── server.js


API Site Structure (TypeScript version) includes JWT Authentication:


express-mvc-api-auth-tsc
├── Server
│   ├── Config
│   │   ├── app.ts
│   │   └── db.ts
│   ├── Controllers
│   │   ├── auth.ts
│   │   └── movie.ts
│   ├── Models
│   │   ├── movie.ts
│   │   └── user.ts
│   ├── Routes
│   │   ├── auth.ts
│   │   └── index.ts
│   └── Util
│       └── index.ts
├── .env
├── .gitignore
├── movies.json
├── package.json
├── server.ts
└── tsconfig.json

Notes: