Node MVC framework to build a complete REST API system and applications, integrated with Redis cache and database (now only MongoDB is supported);
In order to correctly configure your progect type yarn make:env [app-name]
, then update your new .env
file.
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
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.
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;