Skip to content

alexdant91/node-mvc

Repository files navigation

node-mvc

Node MVC framework to build a complete REST API system and applications, integrated with Redis cache and database (now only MongoDB is supported);

Init

In order to correctly configure your progect type yarn make:env [app-name], then update your new .env file.

Usage

You can start development enviroment for both UI and Server together or separated:

// Start development server only
yarn dev:server

// Start development UI only
yarn dev:ui

// Start both development server and UI
yarn dev

// Start both production server and UI managed by PM2 instance
yarn start

// Restart both production server and UI managed by PM2 instance
yarn restart

// Stop both production server and UI managed by PM2 instance
yarn stop

Command

This repo is served by a local command tool to build your app fast and better:

// Create a new enviroment file to configure your new app
yarn make:env [app-name]

// Create a new model with controllers and database schema
yarn make:model [model-name]

// Create a new controller
yarn make:controller [controller-name]

// Create a new middleware
yarn make:middleware [middleware-name]

// Migrate database changes
yarn make:migration

In order to update your global database schema you need to run yarn make:migration everytime you have created a new model.

TODO

Following the coming soon features list.

  • Refactor mongoose model retrieve with a migration command (static models generator);
  • Refactor vendor/Model class, it contains only middleware;
  • User authorization flow;
  • Basic UI scaffold, using Vue.js, showing user auth system;
  • Basic UI scaffold, using Vue.js, showing CRUD operations;
  • Adapt UI scaffold design to be device;
  • Integrate auth detection in Models methods;
  • Integrate Redis server;
  • Integrate PM2 as production manager;
  • Integrate factories functionality for UI scaffold (User, Auth);
  • Integrate socket.io notification event system;
  • Build CLI tool to manage NodeMVC;
  • Separate auth endpoints from /api;
  • Auto generated documentation systems;
  • Itegrate scopes logic (like user:read ...);
  • Integrate Exception utility class;
  • Integrate optional Api App auth based on client_id e client_secret related to User inside auto-generated AuthUserClient auth service;
  • Integrate optional stand alone Api App auth based on client_id e client_secret inside auto-generated AuthClient auth service;
  • Integrate group role system (MongoDB);
  • Integrate db role system logic (MongoDB);
  • Integrate group role system (PostgresSQL);
  • Integrate db role system logic (PostgresSQL);
  • Integrate group role system (MySQL);
  • Integrate db role system logic (MySQL);
  • Integrate global middleware system for all or a specific group of endpoitns;
  • Integrate Route method all();
  • Integrate custom import system;
  • Integrate other databases support;
  • Write complete documentation;
  • Refactoring exclude logic for pgsql adapter;
  • Refactoring pgsql data type for arrays;
  • Integrate subfolder on auto generated commands;
  • Integrate complete errors log system with optional email alert and pre-auth visual panel;
  • Write a template engine;
  • Integrate template engine to views directory if options is settled;
  • Integrate template engine system to inject components;
  • Integrate an easy way to build an admin dashboard auto-generated;
  • Integrate multiple entity login (User, Admin, Owner);
  • Refactoring db adapter to integrate role permission logic;
  • Add virtual host (subdomains) support;
  • Add server mailer support;

About

Node MVC framework to build rest API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published