Skip to content

Commit 6abad0c

Browse files
Merge pull request #393 from andrechristikan/development
Development
2 parents 63283e9 + 42a4997 commit 6abad0c

File tree

1 file changed

+40
-49
lines changed

1 file changed

+40
-49
lines changed

README.md

Lines changed: 40 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@
2323

2424
## Other Repo
2525

26-
* [Mini Version][ack-mongoose] : Mini version
27-
* [Typeorm Integration][ack-typeorm] : Typeorm integration `(Outdated)`
2826
* [Kafka Integration][ack-kafka] : Hybrid Between HTTP and Microservice (Apache Kafka Integration)
27+
* [Typeorm Integration][ack-typeorm] : Typeorm integration `(Outdated)`
2928

3029
## Table of contents
3130

@@ -66,13 +65,8 @@
6665

6766
Next development
6867

69-
* [ ] Validation guard change to pipe
70-
* [ ] SSO
71-
* [ ] Google
72-
* [ ] Apple
73-
* [ ] Microsoft
74-
* [ ] Facebook
75-
* [ ] Twitter
68+
* [ ] Google SSO
69+
* [ ] Background export/import from/to CSV and Excel
7670
* [ ] Update Documentation, include an diagram for easier comprehension
7771

7872
## Build with
@@ -99,10 +93,10 @@ Describes which version.
9993
* Component based folder structure
10094
* Stateless authentication and authorization
10195
* Repository Design Pattern or Data Access Layer Design Pattern
102-
* Support Microservice Architecture, Serverless Architecture, Clean Architecture, and/or Hexagonal Architecture
10396
* Follow Community Guide Line
10497
* Follow The Twelve-Factor App
10598
* Adopt SOLID and KISS principle
99+
* Support Microservice Architecture, Serverless Architecture, Clean Architecture, and/or Hexagonal Architecture
106100

107101
## Features
108102

@@ -111,16 +105,16 @@ Describes which version.
111105
* NestJs v9.x 🥳
112106
* Typescript 🚀
113107
* Production ready 🔥
114-
* Repository Design Pattern
115-
* Swagger included
116-
* Authentication (`Access Token`, `Refresh Token`, `API Key`)
108+
* Repository Design Pattern (Multi Repository, can mix with `TypeORM`)
109+
* Swagger / OpenAPI 3 included
110+
* Authentication (`Access Token`, `Refresh Token`, `API Key`, and `Google SSO`)
117111
* Authorization, Role and Permission Management (`PermissionToken`)
118-
* Support multi-language `i18n` 🗣
119-
* Request validation with `class-validation`
112+
* Support multi-language `i18n` 🗣, can controllable with request header `x-custom-lang`
113+
* Request validation for all request params, query, dan body with `class-validation`
120114
* Serialization with `class-transformer`
121-
* Url Versioning
115+
* Url Versioning, default version is `1`
122116
* Server Side Pagination
123-
* Import and export data with excel by using `decorator`
117+
* Import and export data with CSV or Excel by using `decorator`
124118

125119
### Database
126120

@@ -148,7 +142,6 @@ Describes which version.
148142
* Centralize response
149143
* Centralize exception filter
150144
* Setting from database 🗿
151-
* Maintenance mode on / off from database 🐤
152145

153146
### Third Party Integration
154147

@@ -157,9 +150,9 @@ Describes which version.
157150

158151
### Others
159152

160-
* Support Docker Installation
153+
* Support Docker installation
161154
* Support CI/CD with Github Action or Jenkins
162-
* Husky GitHook For Check Source Code, and Run Test Before Commit 🐶
155+
* Husky GitHook for check source code, and run test before commit 🐶
163156
* Linter with EsLint for Typescript
164157

165158
## Structure
@@ -172,8 +165,8 @@ Describes which version.
172165
4. `/health` health check module for every service integrated
173166
5. `/jobs` cron job or schedule task
174167
6. `/language` json languages
175-
7. `/migration` migrate all init data for test the project
176-
8. `/modules` other modules based on service/project
168+
7. `/migration` migrate all init data
169+
8. `/modules` other modules based on service based on project
177170
9. `/router` endpoint router. `Controller` will put in this
178171

179172
### Module structure
@@ -188,7 +181,7 @@ Full structure of module
188181
├── controllers // business logic for rest api
189182
├── decorators // warper decorator, custom decorator, etc
190183
├── dtos // request validation
191-
├── docs // swagger
184+
├── docs // swagger / OpenAPI 3
192185
├── errors // custom error
193186
├── filters // custom filter
194187
├── guards // validate related with database
@@ -211,27 +204,6 @@ Full structure of module
211204

212205
This section will describe the structure of the response.
213206

214-
#### Response Metadata
215-
216-
This is useful when we need to give the frontend some information that is not related to the endpoint.
217-
218-
```ts
219-
export interface IResponseMetadata {
220-
languages: ENUM_MESSAGE_LANGUAGE[];
221-
timestamp: number;
222-
timezone: string;
223-
requestId: string;
224-
path: string;
225-
version: string;
226-
repoVersion: string;
227-
nextPage?: string;
228-
previousPage?: string;
229-
firstPage?: string;
230-
lastPage?: string;
231-
[key: string]: any;
232-
}
233-
```
234-
235207
#### Response Default
236208

237209
Default response for the response
@@ -265,6 +237,27 @@ export class ResponsePagingSerialization {
265237

266238
```
267239

240+
#### Response Metadata
241+
242+
This is useful when we need to give the frontend some information that is related / not related with the endpoint.
243+
244+
```ts
245+
export interface IResponseMetadata {
246+
languages: ENUM_MESSAGE_LANGUAGE[];
247+
timestamp: number;
248+
timezone: string;
249+
requestId: string;
250+
path: string;
251+
version: string;
252+
repoVersion: string;
253+
nextPage?: string;
254+
previousPage?: string;
255+
firstPage?: string;
256+
lastPage?: string;
257+
[key: string]: any;
258+
}
259+
```
260+
268261
## Prerequisites
269262

270263
We assume that everyone who comes here is **`programmer with intermediate knowledge`** and we also need to understand more before we begin in order to reduce the knowledge gap.
@@ -390,11 +383,11 @@ docker-compose up -d
390383

391384
## API Reference
392385

393-
You can check The Api Spec in [here][api-reference-docs]
386+
You can check The ApiSpec after running this project. [here][api-reference-docs]
394387

395388
## Documentation
396389

397-
Read documentation [here][docs].
390+
> Ongoing update
398391

399392
## Adjust Mongoose Setting
400393

@@ -408,7 +401,7 @@ const mongooseOptions: MongooseModuleOptions = {
408401
useNewUrlParser: true,
409402
useUnifiedTopology: true,
410403
serverSelectionTimeoutMS: 5000,
411-
useMongoClient: true
404+
useMongoClient: true // <--- add this
412405
};
413406
```
414407

@@ -495,7 +488,6 @@ If your code behind commit with the original, please update your code and resolv
495488
<!-- Other Repo Links -->
496489
[ack]: https://github.com/andrechristikan/ack-nestjs-boilerplate
497490
[ack-typeorm]: https://github.com/andrechristikan/nestjs-boilerplate-typeorm
498-
[ack-mongoose]: https://github.com/andrechristikan/ack-nestjs-boilerplate-mongoose
499491
[ack-kafka]: https://github.com/andrechristikan/ack-nestjs-boilerplate-kafka
500492

501493
<!-- license -->
@@ -518,4 +510,3 @@ If your code behind commit with the original, please update your code and resolv
518510

519511
<!-- API Reference -->
520512
[api-reference-docs]: http://localhost:3000/docs
521-
[docs]: https://successful-stove-847.notion.site/Ack-docs-572d9a8db1c040bea8a0eb4c35054fd9

0 commit comments

Comments
 (0)