https://github.com/jamg44/typescript-starter
๐ Node.js Typescript starter
https://github.com/jamg44/typescript-starter
biome dotenv node node-js nvm pino typescript vitest zod
Last synced: about 2 months ago
JSON representation
๐ Node.js Typescript starter
- Host: GitHub
- URL: https://github.com/jamg44/typescript-starter
- Owner: jamg44
- License: mit
- Created: 2025-11-02T15:59:22.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-03T14:22:28.000Z (8 months ago)
- Last Synced: 2025-11-03T16:14:38.910Z (8 months ago)
- Topics: biome, dotenv, node, node-js, nvm, pino, typescript, vitest, zod
- Language: TypeScript
- Homepage:
- Size: 66.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Node.js Typescript Starter
## ๐ Introduction
Welcome to Node.js TypeScript Boilerplate 2025 โ a simple and ready-to-use starting point for building backend services with TypeScript.
Based on: [express-typescript](https://github.com/edwinhern/express-typescript)
## ๐ก Why We Made This
This starter kit helps you:
- โจ Start new projects faster
- ๐ Write clean, consistent code
- โก Build things quickly
- ๐ก๏ธ Follow best practices for security and testing
## ๐ What's Included
- ๐ Well-organized folders: Files grouped by feature so you can find things easily
- ๐จ Fast development: Quick code running with `tsx` and error checking with `tsc`
- ๐ Latest Node.js: Uses the newest stable Node.js version from `.nvmrc`
- ๐ง Safe settings: Environment settings checked with Zod to prevent errors
- ๐ Short import paths: Clean code with easy imports using path shortcuts
- ๐ Auto-updates: Keeps dependencies up-to-date with Renovate
- ๐ Easy tracking: Built-in logging with `pino`
- ๐งช Ready-to-test: Testing tools with Vitest already set up
- โ
Clean code: Consistent coding style with `Biomejs`
- ๐ณ Easy deployment: Ready for Docker containers
- ๐ Input checking: Validation using Zod
## ๐ ๏ธ Getting Started
### Step-by-Step Guide
#### Step 1: ๐ Initial Setup
To create an app, follow these steps:
```sh
npx degit jamg44/typescript-starter my-app
cd my-app
pnpm install
# Optional, setup your git repo:
git init && git add . && git commit -m 'feat: initial commit'
```
#### Step 2: โ๏ธ Environment Configuration
- Create `.env`: Copy `.env.template` to `.env`
- Update `.env`: Fill in necessary environment variables
#### Step 3: ๐โโ๏ธ Running the Project
- Development Mode: `pnpm dev`
- Building: `pnpm build`
- Production Mode: Set `NODE_ENV="production"` in `.env` then `pnpm build && pnpm start:prod`
## ๐ค Feedback and Contributions
We'd love to hear your feedback and suggestions for further improvements. Feel free to contribute and join us in making backend development cleaner and faster!
๐ Happy coding!
## ๐ Folder Structure
```code
โโโ biome.json
โโโ Dockerfile
โโโ LICENSE
โโโ package.json
โโโ pnpm-lock.yaml
โโโ README.md
โโโ src
โ โโโ common
โ โ โโโ utils
โ โ โโโ __tests__
โ โ โโโ commonValidation.ts
โ โ โโโ envConfig.ts
โ โ โโโ logger.ts
โ โโโ index.ts
โโโ tsconfig.json
โโโ vite.config.mts
```