Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ali-ahnaf/nodejs-template

a nodejs template with the express framework with webpack and babel installed
https://github.com/ali-ahnaf/nodejs-template

absolute-imports expressjs nodejs

Last synced: 2 days ago
JSON representation

a nodejs template with the express framework with webpack and babel installed

Awesome Lists containing this project

README

        

### Get started
```
bash
npm install
npm run start:dev
```

### Introduction

An express template with typescript inspired from this [repository](https://github.com/kutia-software-company/express-typescript-starter)

- `module-alias` is used for absolute imports
- `helmet` is used for security features.

### Notable tools

- **Beautiful Code** thanks to the awesome annotations of the libraries from [pleerock](https://github.com/pleerock).
- **Dependency Injection** done with the nice framework from [TypeDI](https://github.com/pleerock/typedi).
- **Simplified Database Query** with the ORM [TypeORM](https://github.com/typeorm/typeorm).
- **Clear Structure** with different layers such as controllers, services, repositories, models, middlewares...
- **Easy Exception Handling** thanks to [routing-controllers](https://github.com/pleerock/routing-controllers).
- **Smart Validation** thanks to [class-validator](https://github.com/pleerock/class-validator) with some nice annotations.
- **Custom Validators** to validate your request even better and stricter ([custom-validation-classes](https://github.com/pleerock/class-validator#custom-validation-classes)).
- **Basic Security Features** thanks to [Helmet](https://helmetjs.github.io/).
- **Authentication and Authorization** thanks to [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken).
- **CLI Commands** thanks to [yargs](https://github.com/yargs/yargs).
- **Easy event dispatching** thanks to [event-dispatch](https://github.com/pleerock/event-dispatch).
- **Fast Database Building** with simple migration from [TypeORM](https://github.com/typeorm/typeorm).
- **Easy Data Seeding** with our own factories.
- **Auth System** thanks to [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken).
- **Docker** thanks to [docker](https://github.com/docker).
- **Class-based to handle websocket events** thanks to [socket-controllers](https://github.com/typestack/socket-controllers).
- **Class-based to handle Cron Jobs** thanks to [cron-decorators](https://github.com/mrbandler/cron-decorators).
- **API Documentation** thanks to [swagger](http://swagger.io/) and [routing-controllers-openapi](https://github.com/epiphone/routing-controllers-openapi).
- **GraphQL** thanks to [TypeGraphQL](https://19majkel94.github.io/type-graphql/) we have a some cool decorators to simplify the usage of GraphQL.
- **Queue Jobs** thanks to [BullMQ](https://github.com/taskforcesh/bullmq).
- **Query Parser** thanks to [Typeorm Query Parser](https://github.com/gentritabazi01/typeorm-simple-query-parser).

### License

[MIT](/LICENSE)