The main idea behind this app is that, We like you to be focused on your business and not spending hours in project configuration.
Give this a try!! We are more than happy to hear your feedback or feature request.
A comprehensive template. Works out of the box for most Node.js projects with following pieces
- [Docker] as the container service to isolate the environment.
- [Node.js](Long-Term-Support Version) as the run-time environment to run JavaScript.
- [Express.js]as the server framework / controller layer
- [Postgre SQL]as the database layer
- [TypeORM] as the "ORM" / model layer
- [TypeDI] Dependency Injection for TypeScript.
- [Routing-Controllers] Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express using TypeScript and Routing Controllers Framework.
- [Helmet] Helmet helps you secure your Express apps by setting various HTTP headers. It’s not a silver bullet, but it can help!
- [Swagger] API Tool to describe and document your api
- TypeScript
- ESLint with some initial rules recommendation
- Jest for fast unit testing and code coverage
- Type definitions for Node.js and Jest
- NPM scripts for common operations
- Simple example of TypeScript code and unit test
- Example configuration for GitHub Actions
- Clone the repository
- Run
docker-compose up
- Clone the repository
You need to install postgreSQL manually for the installation guide
- Run
npm install
- Run
npm run typeorm schema:sync
- Run
npm run typeorm migration:run
- Run
npm i ts-node -g
- Run
npm run dev
* You need to set environment variables to provide configuration for database connection. Please see src/config.ts
for environment variable names.
After the server is setup, you will be provided with an API Key on the terminal. The API will be useable from the documentation available at http://localhost:3000/docs.
clean
- remove coverage data, Jest cache and transpiled files,build
- transpile TypeScript to ES6,build:watch
- interactive watch mode to automatically transpile source files,lint
- lint source files and tests,test
- run tests,test:watch
- interactive watch mode to automatically re-run testswatch
- automatically restart the application when file changes in the directory are detected