Serverless Boilerplate with Serverless Framework 3, ExpressJS, TypeScript, Prisma and MongoDB
Clone this project and use it to create your own backend.
Features
Developer experience first:
π₯ Serverless frameworkβ‘οΈ ExpressJSβ Type checking TypeScript with strict modeπ ORM with Prismaπ Database with MongoDB with in-memory database for local developmentπ Linter with ESLint with Airbnb configurationπ Code Formatter with Prettierπ¦ Husky for Git Hooksπ« Lint-staged for running linters on Git staged filesπ Lint git commit with Commitlintπ Write standard compliant commit messages with Commitizenπ¦Ί Unit testing with Jest and Supertest for integration testingπ· Run tests on pull request with GitHub Actionsπ Automatic changelog generation with Semantic Releaseπ‘ Absolute Imports using @ prefixπ VSCode configuration: Debug, Settings, Tasks and extension for ESLint, Prettier, TypeScript, Jestπ Local support with Serverless OfflineβοΈ Environment variable with Serverless Dotenvπ Fast bundler with esbuildβ¨ HTTP Api instead of API gateway for cost optimizationπ¨ Live reload
Philosophy
- Minimal code
π Production-ready
Node.js SaaS Boilerplate - MERN Stack with Serverless
Build your SaaS product faster with Node.js SaaS Boilerplate.
Premium Themes
Green Nextjs Landing Page Template | Purple Saas Nextjs Theme |
---|---|
Find more Nextjs Templates.
Requirements
- Node.js 16+ and npm
Getting started
Run the following command on your local environment:
git clone --depth=1 https://github.com/ixartz/Serverless-Boilerplate-Express-TypeScript.git my-project-name
cd my-project-name
npm install
Then, you can run locally in development mode with live reload:
npm run dev
The local server is now listening at http://localhost:4000
Deploy to production
You can deploy to production with the following command:
npm run deploy-prod
VSCode information (optional)
If you are VSCode users, you can have a better integration with VSCode by installing the suggested extension in .vscode/extension.json
. The starter code comes up with Settings for a seamless integration with VSCode. The Debug configuration is also provided for frontend and backend debugging experience.
With the plugins installed on your VSCode, ESLint and Prettier can automatically fix the code and show you the errors. Same goes for testing, you can install VSCode Jest extension to automatically run your tests and it also show the code coverage in context.
Pro tips: if you need a project wide type checking with TypeScript, you can run a build with Cmd + Shift + B on Mac.
Contributions
Everyone is welcome to contribute to this project. Feel free to open an issue if you have question or found a bug.
License
Licensed under the MIT License, Copyright Β© 2022
See LICENSE for more information.
Made with