|
9 | 9 |
|
10 | 10 | # |
11 | 11 |
|
12 | | -> **Note** |
13 | | -> |
14 | | -> node-mongo projects require you to have Node.js or Node Version Manager (NVM) installed on your computer |
15 | | -
|
16 | | -# |
17 | | - |
18 | | -**Supported Node.js versions:** Node.js v16.x to v20.x |
19 | | - |
20 | | -# |
21 | | - |
22 | | -**Operating Systems:** Mac, Windows, and Linux OS |
23 | | - |
24 | | -# |
25 | | - |
26 | | -**Parent repo:** [code-collabo/node-mongo](https://github.com/code-collabo/node-mongo) |
27 | | - |
28 | | -# |
29 | | -> **Note** |
30 | | -> |
31 | | -> The latest version of CLI generates API boilerplate templates v1.0.0 |
32 | | -
|
33 | | -# |
34 | | - |
35 | | -The [node-mongo-cli](https://www.npmjs.com/package/@code-collabo/node-mongo-cli) is a Command Line Interface made with Node.js. It bootstraps any of the [node-mongo API boilerplate templates](https://github.com/code-collabo/node-mongo-api-boilerplate-templates) for your nodejs mongoDB development, depending on your preference. |
36 | | - |
37 | | -### Features |
38 | | - |
39 | 12 |  |
40 | 13 |
|
41 | | -#### CLI |
| 14 | +Install CLI globally using this command: |
42 | 15 |
|
43 | | -* CLI bootstraps the typescript, es module, or common js (a.k.a. ts, esm, cjs) templates for nodejs mongoDB development. |
44 | | -* Install dependencies and initialize git for the template bootstrapped or choose to skip them. |
45 | | -* Folders are automatically created based on user entry in the prompt or command line. |
46 | | -* The default folder name is used and incremented if the folder name provided already exists. |
47 | | - |
48 | | -#### API boilerplate templates |
49 | | - |
50 | | -* API boilerplate templates now use the MVC architecture pattern i.e. separated route, model, controller, and service files. |
51 | | -* Development environment already set up with @babel (for esm template only), eslint, and server watch. |
52 | | -* The default connection setup type is MongoDB Atlas. You get to choose if you want to use Atlas or switch to the Local mongoDB connection setup type, and you also get to save your preferred connection setup type for when next you run the automated development server. |
53 | | -* Improved user experience with the newly added walk-through prompts in the terminal: quick to setup, easy to use, with automated and improved user support. |
54 | | - |
55 | | -### CLI installation |
56 | | -Install CLI globally with this command: |
57 | 16 | ```` |
58 | 17 | npm install -g @code-collabo/node-mongo-cli |
59 | 18 | ```` |
60 | 19 |
|
61 | | -### CLI command |
62 | | -After installing globally, use the node-mongo command. |
63 | | -```` |
64 | | -node-mongo |
65 | | -```` |
| 20 | +Create a new backend API application: |
66 | 21 |
|
67 | | -### CLI usage |
68 | 22 | ```` |
69 | | -node-mongo <folder_name> <template> |
| 23 | +node-mongo test-folder ts |
70 | 24 | ```` |
71 | 25 |
|
72 | | -### CLI usage example |
| 26 | +change directory into generated `test-folder` and run: |
73 | 27 |
|
74 | | -Replace \<folder\_name> with your preferred folder name. Replace \<template> with any of these: ts, esm, or cjs. The example below will bootstrap the ts template i.e. the typescript template into a folder named test-folder. |
75 | | - |
76 | | -``` |
77 | | -node-mongo test-folder ts |
78 | | -``` |
| 28 | +```` |
| 29 | +npm run dev:atlas |
| 30 | +```` |
79 | 31 |
|
80 | | -### API boilerplate template and automated development server |
| 32 | +# |
81 | 33 |
|
82 | | -See the [API boilerplate templates documentation](https://code-collabo.gitbook.io/node-mongo-v2.0.0/api-boilerplate-templates) for detailed steps to setup your generated API boilerplate template, run the automated development server, and build your own mongoDB backend application with it. |
| 34 | +Find a more comprehensive usage guide in the [node-mongo user docs](https://code-collabo.gitbook.io/node-mongo-user/node-mongo-user-docs/readme) |
83 | 35 |
|
84 | | -### Show CLI help |
85 | | -```` |
86 | | -node-mongo --help |
87 | | -```` |
| 36 | +# |
88 | 37 |
|
89 | | -### CLI flags |
90 | | -```` |
91 | | --h, --help Show help |
92 | | --v, --version Show version number |
93 | | --i, --install Install dependencies |
94 | | --g, --git Initialize git repo |
95 | | --s, --skip-install Skip installing dependencies |
96 | | --x, --skip-git Skip initializing git |
97 | | --y, --yes No prompt: See note on --yes flag below |
98 | | -```` |
| 38 | +Find out how to contribute to node-mongo projects in the **contributor docs** section of the [Code Collabo Community and projects documentation](https://code-collabo.gitbook.io/docs/collabo-docs-home/readme) |
99 | 39 |
|
100 | | -### CLI prompts |
101 | | -If you do not specify one or both arguments above, |
102 | | -you will be prompted to add your folder name and/or |
103 | | -choose template option from list. For foldername, you |
104 | | -can choose to use the default foldername provided in |
105 | | -the prompt or type in your preferred folder name. |
106 | | - |
107 | | -### CLI skip prompts |
108 | | -No prompt when --yes flag is used. It skips both install |
109 | | -and git init. The CLI will generate the (default) ts template |
110 | | -if no template is specified or if the template entered is not |
111 | | -in the template collection. In the case of folder name, default |
112 | | -foldername is used if no folder name is specified or when the |
113 | | -folder name used already exists. |
114 | | - |
115 | | -## Documentation |
116 | | -See the links to the official documentation of the node-mongo project and community building it below: |
117 | | -- [Node Mongo documentation](https://code-collabo.gitbook.io/node-mongo-v2.0.0) |
118 | | -- [Code Collabo documentation](https://code-collabo.gitbook.io/community-doc-v1.0.0) |
119 | 40 |
|
120 | 41 | ## Appreciation |
121 | 42 | Appreciation to [@dkundel](https://github.com/dkundel), [@academind](https://github.com/academind), [@CodAffection](https://github.com/CodAffection), [@coryhouse](https://github.com/coryhouse) for the awesome helpful course resources they create, and to [@jiobiagba](https://github.com/jiobiagba) and [@IsraelObiagba](https://github.com/IsraelObiagba) for their occasional but mighty contributions. |
|
0 commit comments