Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/momi-foundation-coding/nodejs-api-cli
This is a scaffold for generating new API-based application for NodeJS and its frameworks such as Express, kemboijs, koa, AdonisJs etc.
https://github.com/momi-foundation-coding/nodejs-api-cli
api express generator hacktoberfest koa nodejs nodejs-api-cli rest-api starter-kit starter-project
Last synced: about 1 month ago
JSON representation
This is a scaffold for generating new API-based application for NodeJS and its frameworks such as Express, kemboijs, koa, AdonisJs etc.
- Host: GitHub
- URL: https://github.com/momi-foundation-coding/nodejs-api-cli
- Owner: momi-foundation-coding
- License: mit
- Created: 2019-07-02T20:45:20.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T10:44:02.000Z (almost 2 years ago)
- Last Synced: 2024-09-30T07:03:43.760Z (about 2 months ago)
- Topics: api, express, generator, hacktoberfest, koa, nodejs, nodejs-api-cli, rest-api, starter-kit, starter-project
- Language: JavaScript
- Homepage: http://www.kemboijs.org/
- Size: 402 KB
- Stars: 10
- Watchers: 5
- Forks: 13
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![KemboiJs](https://circleci.com/gh/kemboijs/nodejs-api-cli.svg?style=svg)](https://app.circleci.com/pipelines/github/kemboijs/nodejs-api-cli)
![npm](https://img.shields.io/npm/dt/nodejs-api-cli)
![npm](https://img.shields.io/npm/v/nodejs-api-cli)
![npm](https://img.shields.io/static/v1?label=PR&message=Welcome&color=brightgreen)# nodejs-api-cli
When developing API based application in NodeJS, it is not easy to set it up as easy as possible.
The application include but not limited to applications build using Express, Sails.js, kemboijs, Koa.js, hapi, AdonisJS, Nest.js etc.
We decided to build this library/utility to help faster set up your API based application.
In the fisrt release, We will focus on supporting Express, but will improve on other frameworks and also nodejs itself without use of frameworks.
Also, we will aim at building utility that can enhance faster development of upcoming applications i.e creating controllers, services, models or middlewares. In the future, we will also help in fixing issues such as migrations and help with a little debugging.# How to use
- Install: `npm i -g nodejs-api-cli`
- Create app: `nodejs-api-cli init`
- Follow the steps and select your options
- Run app: `npm start`
- Drop tables: `npm run drop:Tables`
- Create tables: `npm run create:Tables`
- Run tests: `npm test`NB: Make sure all dependancies are installed. `npm install`.
NB: When installing make sure you have admin priviledges otherwise, you will have to use `sudo npm i -g nodejs-api-cli`
Steps:
- Get help `nodejs-api-cli -h` or `nodejs-api-cli help`
- Get version of app `nodejs-api-cli -v` or `nodejs-api-cli version`## Development
- run: `npm run start:dev`
- build: `npm run build`
- production: `npm start`NB: `For production` purpose testing, be sure to do build first, which generates a folder named `lib/` that is ignored
NB: `During development`, if you need help or run an app test use the following:
- help: `npm run start:dev -- -h`
- version: `npm run start:dev -- -v`
- create-app-development: `npm run start:dev init`To check if production works when developing: Run-
- build: `npm run build`
- create-app-production: `npm start init`## Edit Database/.env details
The app generates `.env` file, where you need to edit its credentials
```javascript
DATABASE_URL = "postgres://user:[email protected]:5432/dbname";
TEST_DB = "postgres://user:[email protected]:5432/testdb";
NODE_ENV = "development";
```You can now create, drop any database models. The created models is **User**, under `src/models/user.js`
# Noted Items
- License added is default `ISC`. You can change it inside `my-app-name/package.json` and also add `LICENSE` file.
- Repository is assumed to be of type `git` and its `url` left blank for you to set inside `my-app-name/package.json`
- Also, feel free to modify or remove some items to meet your expectation/demand# Folder Structure (More updates expected)
├── src
│ ├─ config
| ├─ index.js
│ ├─ controllers
| ├─ index.js
| ├─ user.js
| ├─ helpers
| ├─ index.js
| ├─ responsehandler.js
│ ├─ middlewares
| ├─ index.js
| ├─ user.js
│ ├─ models
| ├─ index.js
| ├─ setup.js
| ├─ user.js
| └─ routes
| ├─ index.js
| ├─ user.js
| └─ scripts
| ├─ create-tables.js
| ├─ drop-tables.js
| ├─ index.js
| └─ services
| ├─ index.js
| ├─ user.js
| └─ index.js
├── tests
│ ├─ controllers
│ ├─ index.js
│ ├─ user.js
│ ├─ middlewares
│ ├─ index.js
│ ├─ routes
│ ├─ index.js
│ └─ index.js
└── .env
└── .envexample
└── .gitignore
└── package.json
└── README.md# Contributors
# How To Contribute
In general, we follow the "fork-and-pull" Git workflow.
1. Fork this [repo](https://github.com/kemboijs/nodejs-api-cli.git) on GitHub
2. Clone the forked repo locally
3. Work on your fork
- Make your changes and additions
- Change or add tests if needed
- Add changes to README.md if needed
4. Commit changes to your own branch
5. Make sure you merge the latest from "upstream" and resolve conflicts if there is any
6. Push your work back up to your fork
7. Submit a Pull request so that we can review your changes# Licence
[MIT](https://github.com/kemboijs/nodejs-api-cli/blob/master/LICENSE)