You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> ack-nestjs-mongoose-kafka still on trial and error phase and the test will base on real projects or cases. So there will be (always) have new update and new features.
@@ -32,20 +55,20 @@ If you change env value of `APP_ENV` to `production` that will trigger
*[ ] Update Documentation, include an diagram for easier comprehension
66
+
*[ ] Export to excel and Import from excel add options to background process
67
+
*[ ] AuthApi Controller
68
+
*[ ] OAuth2 Client Credentials
69
+
*[ ] Kafka Module Security
70
+
*[ ] Optimize Kafka Module
71
+
*[ ] Maybe will adopt [CQRS][ref-nestjs-cqrs]
49
72
50
73
## Build with
51
74
@@ -69,110 +92,110 @@ Describes which version .
69
92
70
93
## Objective
71
94
72
-
- Easy to maintenance
73
-
- NestJs Habit
74
-
- Component based folder structure
75
-
- Repository Design Pattern or Data Access Layer Design Pattern
76
-
- Support Microservice Architecture, Clean Architecture, and/or Hexagonal Architecture
77
-
- Follow The Twelve-Factor App
78
-
- Adopt SOLID and KISS principle
95
+
* Easy to maintenance
96
+
* NestJs Habit
97
+
* Component based folder structure
98
+
* Repository Design Pattern or Data Access Layer Design Pattern
99
+
* Support Microservice Architecture, Clean Architecture, and/or Hexagonal Architecture
100
+
* Follow The Twelve-Factor App
101
+
* Adopt SOLID and KISS principle
79
102
80
103
## Features
81
104
82
-
- NestJs v9.x 🥳
83
-
- Typescript 🚀
84
-
- Production ready 🔥
85
-
- Support serverless
86
-
- Swagger included
87
-
- Authentication and authorization (`JWT`, `API Key`) 💪
88
-
- Role management system
89
-
- MongoDB integrate by using `mongoose` 🎉
90
-
- Support MongoDB Transaction
91
-
- Support MongoDB Soft Delete
92
-
- Database Migration with `NestJs-Command`
93
-
- Storage integration with `AwsS3`
94
-
- Upload file `single` and `multipart` to AwsS3
95
-
- Support multi-language `i18n` 🗣
96
-
- Request validation with `class-validation`
97
-
- Serialization with `class-transformer`
98
-
- Url Versioning
99
-
- Server Side Pagination, there have 3 of types
100
-
- Import and export data with excel by using `decorator`
105
+
* NestJs v9.x 🥳
106
+
* Typescript 🚀
107
+
* Production ready 🔥
108
+
* Support serverless
109
+
* Swagger included
110
+
* Authentication and authorization (`JWT`, `API Key`) 💪
111
+
* Role management system
112
+
* MongoDB integrate by using `mongoose` 🎉
113
+
* Support MongoDB Transaction
114
+
* Support MongoDB Soft Delete
115
+
* Database Migration with `NestJs-Command`
116
+
* Storage integration with `AwsS3`
117
+
* Upload file `single` and `multipart` to AwsS3
118
+
* Support multi-language `i18n` 🗣
119
+
* Request validation with `class-validation`
120
+
* Serialization with `class-transformer`
121
+
* Url Versioning
122
+
* Server Side Pagination, there have 3 of types
123
+
* Import and export data with excel by using `decorator`
101
124
102
125
### Logger and Debugger
103
126
104
-
- Logger `Morgan` and Debugger `Winston` 📝
127
+
* Logger `Morgan` and Debugger `Winston` 📝
105
128
106
129
### Security
107
130
108
-
- Apply `helmet`, `cors`, and `rate-limit`
109
-
- Timeout awareness and can override ⌛️
110
-
- User agent awareness, and can whitelist user agent
131
+
* Apply `helmet`, `cors`, and `rate-limit`
132
+
* Timeout awareness and can override ⌛️
133
+
* User agent awareness, and can whitelist user agent
111
134
112
135
### Setting
113
136
114
-
- Support environment file
115
-
- Centralize configuration 🤖
116
-
- Centralize response
117
-
- Centralize exception filter
118
-
- Setting from database 🗿
119
-
- Maintenance mode on / off from database 🐤
137
+
* Support environment file
138
+
* Centralize configuration 🤖
139
+
* Centralize response
140
+
* Centralize exception filter
141
+
* Setting from database 🗿
142
+
* Maintenance mode on / off from database 🐤
120
143
121
144
### Others
122
145
123
-
- Support Docker Installation
124
-
- Support CI/CD with Github Action or Jenkins
125
-
- Husky GitHook For Check Source Code, and Run Test Before Commit 🐶
126
-
- Linter with EsLint for Typescript
146
+
* Support Docker Installation
147
+
* Support CI/CD with Github Action or Jenkins
148
+
* Husky GitHook For Check Source Code, and Run Test Before Commit 🐶
149
+
* Linter with EsLint for Typescript
127
150
128
151
## Prerequisites
129
152
130
153
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.
131
154
132
-
1. Understand [NestJs Fundamental](http://nestjs.com), Main Framework. NodeJs Framework with support fully TypeScript.
133
-
2. Understand[Typescript Fundamental](ref-typescript), Programming Language. It will help us to write and read the code.
134
-
3. Understand [ExpressJs Fundamental](ref-nodejs), NodeJs Base Framework. It will help us in understanding how the NestJs Framework works.
135
-
4. Understand what NoSql is and how it works as a database, especially [MongoDB.](ref-mongodb)
155
+
1. Understand [NestJs Fundamental][ref-nestjs], Main Framework. NodeJs Framework with support fully TypeScript.
156
+
2. Understand[Typescript Fundamental][ref-typescript], Programming Language. It will help us to write and read the code.
157
+
3. Understand [ExpressJs Fundamental][ref-nodejs], NodeJs Base Framework. It will help us in understanding how the NestJs Framework works.
158
+
4. Understand what NoSql is and how it works as a database, especially [MongoDB.][ref-mongodb]
136
159
5. Understand Repository Design Pattern or Data Access Object Design Pattern. It will help us to read the source code
137
160
6. Understand The SOLID Principle and KISS Principle for better write the code.
138
161
7. Understand Apache Kafka. It will help us to build the application.
0 commit comments