This repository is a boilerplate for to build REST APIs with Node.Js, using ExpressJs and TypeScript.
- Docker and Docker Compose integration
- Dependency Injection done with the nice framework from TypeDI
- Simplified Database Query with the ORM TypeORM
- Easy Exception Handling thanks to routing-controllers
- Integrated Testing Tool thanks to Jest
- Code linter to ESLint
- Debug mode for dockerized environment
- Authentication using FusionAuth
- GitLab CI for deploy on the AWS Platform
- GitHub Actions integration for CI
Creating the project just:
generator.sh project-path project-name [git-repository]
./generator.sh /tmp/project my-project
Exit:
Project name is my-project
Target dir is /tmp/project
Target repository is empty
Cloning...
Cloned :D
Run
cd /tmp/project
source dev.sh
Creating the project and binding to Git repository:
./generator.sh /tmp/project my-project [email protected]:my-user/my-project.git
Exit:
Project name is my-project
Target dir is /tmp/project/
Target repository is [email protected]:my-user/my-project.git
Cloning...
Initializing repository...
Initialized empty Git repository in /tmp/project/.git/
Cloned :D
Run
cd /tmp/project/
source dev.sh
devhelp Prints devhelp
db_setup Setup environment
dkbuild Builds project docker image
pkg_install Install node packages
dkupa Starts docker services in attach mode (at first time, runs pkg_install)
dkupd Starts docker services in detached mode (at first time, runs pkg_install)
dk "cmd" Runs the 'cmd' command inside the container
dkdown Stop and remove docker containers