|
6 | 6 |
|
7 | 7 | [][5] |
8 | 8 |
|
| 9 | +[][6] |
| 10 | +[][7] |
| 11 | + |
9 | 12 | ## Feature |
10 | 13 |
|
11 | | -1. HTTP server: [Koa][6] |
12 | | -2. Controller framework: [Routing Controllers][7] |
13 | | -3. Model framework: [Class Transformer][8] & [Class Validator][9] |
14 | | -4. ORM framework: [TypeORM][10] |
15 | | -5. API document: [Swagger][11] |
16 | | -6. Mock API: [OpenAPI backend][12] |
| 14 | +1. HTTP server: [Koa][8] |
| 15 | +2. Controller framework: [Routing Controllers][9] |
| 16 | +3. Model framework: [Class Transformer][10] & [Class Validator][11] |
| 17 | +4. ORM framework: [TypeORM][12] |
| 18 | +5. API document: [Swagger][13] |
| 19 | +6. Mock API: [OpenAPI backend][14] |
| 20 | + |
| 21 | +## Best practice |
| 22 | + |
| 23 | +1. Install **[Settings][15] GitHub app** in your account or organization |
| 24 | +2. Click the **[Use this template][16] button** on the top of this GitHub repository's home page, then create your own repository in the app-installed namespace above |
| 25 | +3. Click the **[Open in GitHub codespaces][17] button** on the top of ReadMe file, then an **online VS Code development environment** will be started immediately |
| 26 | +4. Recommend to add a [Notification step in GitHub actions][18] for your Team IM app |
| 27 | +5. Remind the PMs & users of your product to submit **Feature/Enhancement** requests or **Bug** reports with [Issue forms][19] instead of IM messages or Mobile Phone calls |
| 28 | +6. Collect all these issues into [Project kanbans][20], then create **Pull requests** & add `closes #issue_number` into its description for automation |
17 | 29 |
|
18 | 30 | ## API Usage |
19 | 31 |
|
|
25 | 37 |
|
26 | 38 | #### Sign in GitHub packages with NPM |
27 | 39 |
|
28 | | -1. Generate a [PAT][13] with `read:packages` authorization |
| 40 | +1. Generate a [PAT][21] with `read:packages` authorization |
29 | 41 | 2. Run Sign-in command in your terminal, and use PAT as password: |
30 | 42 |
|
31 | 43 | ```shell |
|
62 | 74 | pnpm dev |
63 | 75 | ``` |
64 | 76 |
|
65 | | -or just press <kbd>F5</kbd> key in [VS Code][14]. |
| 77 | +or just press <kbd>F5</kbd> key in [VS Code][22]. |
66 | 78 |
|
67 | 79 | ### Migration |
68 | 80 |
|
@@ -114,12 +126,20 @@ git push origin master --tags |
114 | 126 | [3]: https://www.typescriptlang.org/ |
115 | 127 | [4]: https://github.com/idea2app/REST-Node-ts/actions/workflows/deploy-production.yml |
116 | 128 | [5]: https://render.com/deploy |
117 | | -[6]: https://koajs.com/ |
118 | | -[7]: https://github.com/typestack/routing-controllers |
119 | | -[8]: https://github.com/typestack/class-transformer |
120 | | -[9]: https://github.com/typestack/class-validator |
121 | | -[10]: https://typeorm.io/ |
122 | | -[11]: https://swagger.io/ |
123 | | -[12]: https://github.com/anttiviljami/openapi-backend |
124 | | -[13]: https://github.com/settings/tokens |
125 | | -[14]: https://code.visualstudio.com/ |
| 129 | +[6]: https://codespaces.new/idea2app/REST-Node-ts |
| 130 | +[7]: https://gitpod.io/?autostart=true#https://github.com/idea2app/REST-Node-ts |
| 131 | +[8]: https://koajs.com/ |
| 132 | +[9]: https://github.com/typestack/routing-controllers |
| 133 | +[10]: https://github.com/typestack/class-transformer |
| 134 | +[11]: https://github.com/typestack/class-validator |
| 135 | +[12]: https://typeorm.io/ |
| 136 | +[13]: https://swagger.io/ |
| 137 | +[14]: https://github.com/anttiviljami/openapi-backend |
| 138 | +[15]: https://github.com/apps/settings |
| 139 | +[16]: https://github.com/new?template_name=REST-Node-ts&template_owner=idea2app |
| 140 | +[17]: https://codespaces.new/idea2app/REST-Node-ts |
| 141 | +[18]: https://github.com/kaiyuanshe/kaiyuanshe.github.io/blob/bb4675a56bf1d6b207231313da5ed0af7cf0ebd6/.github/workflows/pull-request.yml#L32-L56 |
| 142 | +[19]: https://github.com/idea2app/REST-Node-ts/issues/new/choose |
| 143 | +[20]: https://github.com/idea2app/REST-Node-ts/projects |
| 144 | +[21]: https://github.com/settings/tokens |
| 145 | +[22]: https://code.visualstudio.com/ |
0 commit comments