https://github.com/mkosir/prisma-next-graphql-typescript
https://github.com/mkosir/prisma-next-graphql-typescript
boilerplate graphql nextjs postgres prisma typescript
Last synced: 15 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mkosir/prisma-next-graphql-typescript
- Owner: mkosir
- License: mit
- Created: 2022-07-03T19:08:37.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-18T14:04:48.000Z (over 3 years ago)
- Last Synced: 2025-02-07T15:45:10.746Z (11 months ago)
- Language: Shell
- Homepage: https://prisma-next-graphql-typescript.vercel.app
- Size: 1.05 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prisma / Next.js / GraphQL / TypeScript boilerplate 
[![CI][build-badge]][build-url]
[![CI][deploy-production-badge]][deploy-production-url]
[![TypeScript][typescript-badge]][typescript-url]
Boilerplate with focus on best practices and painless developer experience:
- Minimal setup that can be extended 🔧 _(no UI, validation, lodash... utility libraries 🎉)_
- Easily spin up local dev environment 🌀
- RESTful APIs
- End-To-End type safety with TypeScript _(Database <-> API <-> Frontend)_
## Requirements
- [Node v18+](https://nodejs.org/)
- [Docker](https://www.docker.com/)
## Running
_Easily set up a local development environment_
- clone the repo
- `npm run db-start` - Creates Postgres database container, seeded with Breaking Bad characters 💊
- `npm run dev` - Start NextJs 🚀
Visit [localhost:3000](http://localhost:3000/)
## Features:
- [Prisma v4](https://www.prisma.io/) ORM
- [TypeScript v4](https://github.com/microsoft/TypeScript) codebase with [Strict Configuration](https://typescript-eslint.io/docs/linting/configs#strict)
- [NextJs](https://github.com/vercel/next.js) GraphQL API
- Unit and integration tests with [Jest](https://github.com/facebook/jest)
- Easily start local development using [Docker Compose](https://docs.docker.com/compose/) by spinning up seeded database `npm run db-start` (default credentials `user=walter`, `password=white` [.env file](./envs/dev.env))
- Linting with [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/) code formatter
- Git hooks with [Husky](https://github.com/typicode/husky) and [lint-staged](https://github.com/okonet/lint-staged)
- Commit messages must meet [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) format.
After staging changes just run `npm run commit` and get instant feedback on your commit message formatting and be prompted for required fields by [Commitizen](https://github.com/commitizen/cz-cli)
## Contributing
All contributions are welcome!
[build-badge]: https://github.com/mkosir/prisma-next-graphql-typescript/actions/workflows/main.yml/badge.svg
[build-url]: https://github.com/mkosir/prisma-next-graphql-typescript/actions/workflows/main.yml
[deploy-production-badge]: https://github.com/mkosir/prisma-next-graphql-typescript/actions/workflows/deploy-production.yml/badge.svg
[deploy-production-url]: https://prisma-next-graphql-typescript.vercel.app
[typescript-badge]: https://badges.frapsoft.com/typescript/code/typescript.svg?v=101
[typescript-url]: https://github.com/microsoft/TypeScript