cng-micro-service
v0.0.11
Published
for nodejs create javascript source code auto
Downloads
20
Maintainers
Readme
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:
# delete ./package.json and run this command:
node ./node_modules/cng-micro-service/sync-libs/sync-test-libs.js
run server:
# install all libs for api
npm i
# run sample server
node ./server.js
# define in package.json for test
npm test
# or
# define in package.json for start
npm start
try to test with: http://localhost:8080 or http://localhost:8080/build for make client www
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 = {
// your subdirectory for access your service as https://<your domain resource server>/<basename>
// /<base-name>
BASE_NAME: "xxx",
// your service name with version
SERVICE_NAME: "xxx-1.0",
// your server for proxy token
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
# server run in your port - and your designed functions_apis in excel file above
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:
// add libs
const path = require("path");
// add root
const ROOT_DIR = __dirname
.split(path.sep)
.slice(0, __dirname.split(path.sep).length - 0)
.join(path.sep);
const expressCfg = {
port: 8080 // your port
// ...
// root page when http(s)://<hostname:port>/ with index.html
, staticRoot: `${ROOT_DIR}/www-root`
// subdirectory when http(s)://<hostname:port>/<baseDirectory> with index.html
, staticHtml: `${ROOT_DIR}/client-ionic-react-sso/build`
// ...
};