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
<b>A delightful way to building a RESTful API Services with beautiful code written in TypeScript.</b></br>
24
+
<sub>Inspired by the awesome framework <ahref="https://laravel.com/">laravel</a> in PHP and of the repositories from <ahref="https://github.com/pleerock">pleerock</a></sub>
25
+
</p>
26
+
27
+
<br />
28
+
29
+
> An Node.js Web-Service boilerplate/skeleton/starter-kit with TypeScript, Express, Winston, Microframework, TypeDI, TypeORM, TsLint, @types, Jest, Swagger, validatejs, GraphQL, DataLoaders, by w3tech
30
+
31
+

32
+
33
+
## ❯ Why
26
34
27
35
Our main goal with this project is a feature complete server application.
28
36
We like you to be focused on your business and not spending hours in project configuration.
29
37
30
38
Try it!! We are happy to hear your feedback or any kind of new features.
31
39
32
-
## Features
40
+
###Features
33
41
34
42
-**Beautiful Code** thanks to the awesome annotations of the libraries from [pleerock](https://github.com/pleerock).
35
43
-**Easy API Testing** with included e2e testing.
@@ -50,23 +58,27 @@ Try it!! We are happy to hear your feedback or any kind of new features.
50
58
-**GraphQL** provides as a awesome query language for our api [GraphQL](http://graphql.org/).
51
59
-**DataLoaders** helps with performance thanks to caching and batching [DataLoaders](https://github.com/facebook/dataloader).
@@ -212,7 +232,9 @@ The swagger and the monitor route can be altered in the `.env` file.
212
232
| ormconfig.json | TypeORM configuration for the database. Used by seeds and the migration. (generated file) |
213
233
| mydb.sql | SQLite database for integration tests. Ignored by git and only available after integration tests |
214
234
215
-
## Logging
235
+

236
+
237
+
## ❯ Logging
216
238
217
239
Our logger is [winston](https://github.com/winstonjs/winston). To log http request we use the express middleware [morgan](https://github.com/expressjs/morgan).
218
240
We created a simple annotation to inject the logger in your service (see example below).
@@ -230,7 +252,9 @@ export class UserService {
230
252
...
231
253
```
232
254
233
-
## Event Dispatching
255
+

256
+
257
+
## ❯ Event Dispatching
234
258
235
259
Our we use this awesome repository [event-dispatch](https://github.com/pleerock/event-dispatch) for event dispatching.
236
260
We created a simple annotation to inject the EventDispatcher in your service (see example below). All events are listed in the `events.ts` file.
@@ -253,7 +277,9 @@ export class UserService {
253
277
}
254
278
```
255
279
256
-
## Seeding
280
+

281
+
282
+
## ❯ Seeding
257
283
258
284
Isn't it exhausting to create some sample data for your database, well this time is over!
259
285
@@ -367,7 +393,9 @@ npm start db.seed
367
393
| `npmstart"db.seed --seeds <path>"` | Add a different path to your seeds (Default: `src/database/seeds/`) |
368
394
| `npmstart"db.seed --config <file>"` | Path to your ormconfig.json file |
| [GraphQL Documentation](http://graphql.org/graphql-js/) | A query language for your API. |
469
499
| [DataLoader Documentation](https://github.com/facebook/dataloader) | DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching. |
470
500
471
-
## Related Projects
501
+

502
+
503
+
## ❯ Related Projects
472
504
473
505
- [Microsoft/TypeScript-Node-Starter](https://github.com/Microsoft/TypeScript-Node-Starter) - A starter template for TypeScript and Node with a detailed README describing how to use the two together.
474
506
- [express-graphql-typescript-boilerplate](https://github.com/w3tecch/express-graphql-typescript-boilerplate) - A starter kit for building amazing GraphQL API's with TypeScript and express by @w3tecch
475
507
- [aurelia-typescript-boilerplate](https://github.com/w3tecch/aurelia-typescript-boilerplate) - An Aurelia starter kit with TypeScript
476
508
- [Auth0 Mock Server](https://github.com/hirsch88/auth0-mock-server) - Useful for e2e testing or faking an oAuth server
0 commit comments