Need help with typescript-express-starter?
Click the β€œchat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ljlm0402
205 Stars 41 Forks MIT License 164 Commits 7 Opened issues

Description

πŸš€ TypeScript Express Starter

Services available

!
?

Need anything else?

Contributors list

# 132,825
TypeScr...
JavaScr...
jsonweb...
npx
108 commits
# 326,545
JavaScr...
TypeScr...
jsonweb...
npx
5 commits
# 417,229
TypeScr...
JavaScr...
jsonweb...
npx
3 commits
# 374,634
golang
python3
Twitch
Vue.js
3 commits
# 149,737
Objecti...
C++
tinder-...
tinder-...
2 commits
# 491,599
TeX
query-l...
knowled...
npx
1 commit
# 466,059
HTML
CSS
jsonweb...
npx
1 commit
# 521,398
JavaScr...
TypeScr...
jsonweb...
npx
1 commit

logo

Express with TypeScript's Starter.

NPM Version Package License Release Version NPM Downloads


πŸ‡°πŸ‡· Korean


πŸ€” What is Express ?

Express is a fast, open and concise web framework and is a Node.js based project.

😎 Introducing The Project

Express consists of JavaScript, which makes it vulnerable to type definitions.

That's why we avoid supersets with starter packages that introduce TypeScript.

The package is configured to use TypeScript instead of JavaScript.

The project referred to express-generator-typescript by seanpmaxwell πŸ‘

πŸš€ Quick Start

Install with the NPM Global Package

$ npm install -g typescript-express-starter

Run npx to Install The Package

npx is a tool in the JavaScript package management module, npm.

This is a tool that allows you to run the npm package on a single run without installing the package.

If you do not enter a project name, it defaults to typescript-express-starter.

$ npx typescript-express-starter "project name"

Select a Templates

cli

Start your typescript-express-starter app in development mode at

http://localhost:3000/

Template type

templates

πŸ›Ž Available Commands for the Server

  • Run the Server in production mode :
    npm run start
  • Run the Server in development mode :
    npm run dev
  • Run all unit-tests :
    npm run test
  • Check for linting errors :
    npm run lint
  • Fix for linting :
    npm run lint:fix

πŸ’Ž The Package Features

Simple Icons

🐳 Docker - Containers

Docker is a platform for developers and sysadmins to build, run, and share applications with containers.

Docker Install.

  • starts the containers in the background and leaves them running :
    docker-compose up -d
  • Stops containers and removes containers, networks, volumes, and images :
    docker-compose down

Modify

docker-compose.yml
and
Dockerfile
file to your source code.

♻️ NGINX - Reverse Proxy

NGINX is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.

Proxying is typically used to distribute the load among several servers, seamlessly show content from different websites, or pass requests for processing to application servers over protocols other than HTTP.

When NGINX proxies a request, it sends the request to a specified proxied server, fetches the response, and sends it back to the client.

Modify

nginx.conf
file to your source code.

✨ ESLint, Prettier - Code Formatter

Palantir, the backers behind TSLint announced in 2019 that they would be deprecating TSLint in favor of supporting typescript-eslint in order to benefit the community.

So, migration from TSLint to ESLint.

ESLint, Find and fix problems in your JavaScript code

Prettier is an opinionated code formatter.

It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

  1. Install VSCode Extension Prettier, ESLint

  2. CMD
    +
    Shift
    +
    P
    (Mac Os) or
    Ctrl
    +
    Shift
    +
    P
    (Windows)
  3. Format Selection With

  4. Configure Default Formatter...

  5. Prettier - Code formatter

formatter

πŸ“— Swagger - API Document

Swagger is Simplify API development for users, teams, and enterprises with the Swagger open source and professional toolset.

Easily used by Swagger to design and document APIs at scale.

Start your app in development mode at

http://localhost:3000/api-docs

Modify

swagger.yaml
file to your source code.

🌐 REST Client(VSCode Extension) - HTTP Client Tools

REST Client allows you to send HTTP request and view the response in Visual Studio Code directly.

VSCode Extension REST Client Install.

Modify

*.http
file in http folder to your source code.

πŸ—‚ Code Structure (default)

β”‚
β”œβ”€β”€ /.vscode
β”‚   └── settings.json
β”‚
β”œβ”€β”€ /src
β”‚   β”œβ”€β”€ /controllers
β”‚   β”‚   β”œβ”€β”€ auth.controller.ts
β”‚   β”‚   β”œβ”€β”€ index.controller.ts
β”‚   β”‚   └── users.controller.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /dtos
β”‚   β”‚   └── users.dto.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /exceptions
β”‚   β”‚   └── HttpException.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /http
β”‚   β”‚   β”œβ”€β”€ auth.http
β”‚   β”‚   └── users.http
β”‚   β”‚
β”‚   β”œβ”€β”€ /interfaces
β”‚   β”‚   β”œβ”€β”€ auth.interface.ts
β”‚   β”‚   β”œβ”€β”€ routes.interface.ts
β”‚   β”‚   └── users.interface.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /middlewares
β”‚   β”‚   β”œβ”€β”€ auth.middleware.ts
β”‚   β”‚   β”œβ”€β”€ error.middleware.ts
β”‚   β”‚   └── validation.middleware.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /models
β”‚   β”‚   └── users.model.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /routes
β”‚   β”‚   β”œβ”€β”€ auth.route.ts
β”‚   β”‚   β”œβ”€β”€ index.route.ts
β”‚   β”‚   └── users.route.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /services
β”‚   β”‚   β”œβ”€β”€ auth.service.ts
β”‚   β”‚   └── users.service.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /tests
β”‚   β”‚   β”œβ”€β”€ auth.test.ts
β”‚   β”‚   β”œβ”€β”€ index.test.ts
β”‚   β”‚   └── users.test.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ /utils
β”‚   β”‚   β”œβ”€β”€ logger.ts
β”‚   β”‚   β”œβ”€β”€ util.ts
β”‚   β”‚   └── vaildateEnv.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ app.ts
β”‚   └── server.ts
β”‚
β”œβ”€β”€ .dockerignore
β”œβ”€β”€ .editorconfig
β”œβ”€β”€ .env
β”œβ”€β”€ .eslintignore
β”œβ”€β”€ .eslintrc
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .huskyrc
β”œβ”€β”€ .prettierrc
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ Dockerfile.dev
β”œβ”€β”€ jest.config.js
β”œβ”€β”€ Makefile
β”œβ”€β”€ Makefile
β”œβ”€β”€ nginx.conf
β”œβ”€β”€ nodemon.json
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ swagger.yaml
└── tsconfig.json

πŸ“¬ Recommended Commit Message

| When | Commit Message | | :--------------- | :----------------- | | Add Feature | ✨ Add Feature | | Fix Bug | 🐞 Fix Bug | | Refactoring Code | πŸ›  Refactoring Code | | Install Package | πŸ“¦ Install Package | | Fix Readme | πŸ“š Fix Readme | | Update Version | 🌼 Update Version | | New Template | πŸŽ‰ New Template |

πŸ’³ License

MIT

🀝 Contributors

Contributors

πŸ“¬ Please request an issue

In the future, please write down your desired template, questions, and features to be added, and we will try our best to answer and reflect them.

Thank you very much for your interest in our package. ( ο½₯βˆ€ο½₯)οΎ‰ο½Ό

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.