AUTO create server api for you follow cng utils, include: db, chat, logs, token, model, ...
cd /my-projects
mkdir my-api-www-api-resful-test
cd my-api-www-api-resful-test
npm init -y
npm install cng-micro-service@latest cng-node-js-utils@latest node-js-orm@latest
npm install cng-micro-service@latest
npm i fs path mime-types
Create www server:
node ./node_modules/cng-micro-service/sync-libs/sync-test-libs.js
run server:
npm i
node ./server.js
npm test
npm start
try to make api server follow with: ./test/create-api-functions/0.README-create-api-function.md
Make API resful server:
mkdir logs
mkdir cfg
cp ./cfg-sample ./cfg
1. config db connection in ./cfg
database for your system is very important, you have to define connection same that sample before do next step.
2. edit ./db/excel/... sample.xlsx for designing your function_apis, and models. Following npm node-js-orm
for define your model.
function_apis is important for designing your service api in function_apis sheet. In this have 55 sample apis for admin a microservice. You can edit and insert your new api same that sample before do next step.
Your database model is second important for your data. You have to design your model by excel in sample db by excel as you do everiday. Design your tables, for sample data before create db, or migrate db from other system into this microservice.
3. config for all ./config params and paths. Specialize in ./db/config/params.js for BASE_NAME, SERVICE_NAME and AUTHENTICATION_SERVER_LINK to use sso login
module.exports = {
BASE_NAME: "xxx",
SERVICE_NAME: "xxx-1.0",
AUTHENTICATION_SERVER_LINK: "https://<your-domain or ip:port>/sso"
}
4. create and import databases from excel function_apis follow ./test/...
create granted_user database in sqlite follow ./test/create-api-functions/0.README-create-api-function.md
create main db (if you can) following ./test/create-db
;
create main models as ./test/create-models
migrate your db as ./test/migrate-database
5. run to make resful server:
node ./test/create-api-functions/create-routers-handlers/x-create-api-routers-handlers.js
Now your new microservice as resful server is in ./server-<your service name>.js
with following waterfall from server --> routes --> routers --> handlers
. You can test this server by:
node ./server-<your service name>.js
6. Now you can share your word to your team to do function and procedure in ./handlers/<your-servies-version>/<your-sub-handler>.js
with all help by this sample. Only doing simple function in nodejs note more...
Pleasure your work with these steps...
for test all api by web browser include by ./client-test-apis
http://localhost: for test apis
http://localhost:/ for your web server
You can change your port in config of ./server-.js such as:
const path = require("path");
const ROOT_DIR = __dirname
.split(path.sep)
.slice(0, __dirname.split(path.sep).length - 0)
.join(path.sep);
const expressCfg = {
port: 8080
, staticRoot: `${ROOT_DIR}/www-root`
, staticHtml: `${ROOT_DIR}/client-ionic-react-sso/build`
};