https://github.com/bobbyg603/unwinder-server
🤖🌪🧑💻 TS/JS error unwinding backend built with Docker Compose
https://github.com/bobbyg603/unwinder-server
docker docker-compose express nodejs source-maps typescript unwind
Last synced: about 2 months ago
JSON representation
🤖🌪🧑💻 TS/JS error unwinding backend built with Docker Compose
- Host: GitHub
- URL: https://github.com/bobbyg603/unwinder-server
- Owner: bobbyg603
- License: mit
- Created: 2022-09-25T16:09:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-10T00:06:03.000Z (over 3 years ago)
- Last Synced: 2025-06-24T13:12:38.258Z (11 months ago)
- Topics: docker, docker-compose, express, nodejs, source-maps, typescript, unwind
- Language: TypeScript
- Homepage:
- Size: 234 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Node TypeScript Express Docker Starter

## 📖 Definitions
| Library | Description |
| ------- | ----------- |
| [Node.js](https://nodejs.org/en/) | JavaScript runtime built on [Chrome's V8 JavaScript engine](https://v8.dev/) |
| [Express](https://expressjs.com/) | Minimal and flexible Node.js web application framework for creating [APIs](https://en.wikipedia.org/wiki/API). |
| [TypeScript](https://www.typescriptlang.org/) | A [strongly typed](https://en.wikipedia.org/wiki/Strong_and_weak_typing) programming language that builds on JavaScript, giving you better tooling at any scale. |
| [ESLint](https://eslint.org/) | [Statically analyzes](https://en.wikipedia.org/wiki/Static_program_analysis) your code to quickly find problems. |
| [Jest](https://jestjs.io/) | A delightful JavaScript testing framework with a focus on simplicity. |
| [Docker](https://www.docker.com/) | Package software into standardized units for development, shipment and deployment |
## 🧑🏫 About
Node-TypeScript-Express-Docker-Starter is a template repo for building a [Node.js](https://nodejs.org/en/) [APIs](https://en.wikipedia.org/wiki/API) with [TypeScript](https://www.typescriptlang.org/), [Express](https://expressjs.com/) and [Docker](https://www.docker.com/). This template contains a minimal [ESLint](https://eslint.org/) configuration to enforce coding styles, and comes equipped with [Jest](https://jestjs.io/) for unit and integration testing. Additionally, this project's API routes are structured similarly to how components are organized in an [Angular](https://angular.io/guide/file-structure) project. Controllers are grouped by the API resource they serve, and the associated unit (spec.ts) and integration (e2e.ts) files live in the same directory.
## 🧑💻 Development
Install [Docker Desktop](https://www.docker.com/products/docker-desktop/), [VS Code](https://code.visualstudio.com/download) and [Git](https://git-scm.com/downloads). Click the green [Use this template](https://github.com/bobbyg603/express-typescript-starter/generate) button to copy this repo to your GitHub account. Once you've copied the repo, clone it to your workspace (be sure to replace my URL with the URL to the repo you generated by clicking `Use this template`):
### Download and Install
```sh
git clone https://github.com/bobbyg603/node-typescript-express-docker-starter
```
Install the project's dependencies:
```sh
npm i
```
### Testing
Run the unit and integration tests to ensure everything installed correctly:
```sh
npm test && npm run e2e
```
You can also run and debug tests from within the VS Code Testing Explorer by installing [Jest Test Explorer](https://marketplace.visualstudio.com/items?itemName=kavod-io.vscode-jest-test-adapter).

### Developing
If you'd like to automatically build and restart the development sever when source files are changed you can can run the `watch` command:
```sh
npm run watch
```
The development server can also be started without watching the local file system or attaching the debugger:
```sh
npm start
```
If you'd like to attach the VS Code Debugger to a Node.js instance running on your local machine use the **Launch Program** task.

The VS Code Debugger can also be attached to a Node.js instance running inside a Docker container via the **Docker: Node.js Launch** task.

The development server should begin listening for web requests. If you navigate to http://localhost:3000 in your browser you should see something that resembles the following:

### Contributing
If you believe that this example can be improved, please open an [issue](https://github.com/bobbyg603/node-typescript-express-docker-starter/pulls) or submit a [pull request](https://github.com/bobbyg603/node-typescript-express-docker-starter/pulls)!