https://github.com/seahindeniz/nameless-fullstack-boilerplate
A rich, full-stack boilerplate, built in TypeScript
https://github.com/seahindeniz/nameless-fullstack-boilerplate
codecoverage docker fastify fullstack github-actions graphql javascript jest-tests mongodb nginx nodejs pnpm react rest-api storybook swagger tailwind typescript webpack5 websocket
Last synced: 9 months ago
JSON representation
A rich, full-stack boilerplate, built in TypeScript
- Host: GitHub
- URL: https://github.com/seahindeniz/nameless-fullstack-boilerplate
- Owner: seahindeniz
- License: mit
- Created: 2021-06-17T14:22:54.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-05T19:27:58.000Z (about 5 years ago)
- Last Synced: 2025-09-09T07:30:57.848Z (10 months ago)
- Topics: codecoverage, docker, fastify, fullstack, github-actions, graphql, javascript, jest-tests, mongodb, nginx, nodejs, pnpm, react, rest-api, storybook, swagger, tailwind, typescript, webpack5, websocket
- Language: TypeScript
- Homepage:
- Size: 4.7 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Ingredients ๐จโ๐ณ
Project's stack list is divided into 3 lists
### Common
- ๐จโ๐ผ Package Manager: [PNPM](https://pnpm.io/)
- ๐ Type system: [TypeScript](https://www.typescriptlang.org/)
- ๐งช Test Runner: [Jest](https://jestjs.io/)
- ๐ Coverage reports: [Covecov](https://codecov.io/)
- ๐ Linter: [ESLint](https://eslint.org/)
- ๐ Formatter: [Prettier](https://prettier.io/)
- ๐ข Deployment: [Docker]()
- ๐ฆ Continuous Integration: [GitHub Actions]
- ๐ฑ Reverse Proxy Server: [NGINX](https://www.nginx.com/)
### Backend
- โฑ Runtime: [Node.js](https://nodejs.org/en/)
- ๐ฅ GraphQL, REST API and WebSocket Framework: [Fastify]
- ๐ Live communication: [WebSocket](https://github.com/websockets/ws)
- ๐๏ธ Database: [MongoDB](https://www.mongodb.com/)
- ๐๏ธ Database framework: [Mongoose](https://mongoosejs.com/)
- ๐ REST API Documentation: [Swagger](https://swagger.io/tools/swagger-ui/)
### Frontend
- ๐ผ UI Framework: [React](https://reactjs.org/)
- ๐จ CSS Framework: [Tailwind](https://tailwindcss.com/)
- ๐ UI Documentation: [Storybook](https://storybook.js.org/)
- ๐จ Bundler: [Webpack](https://webpack.js.org/)
- ๐ Style Linter: [Stylelint](https://stylelint.io/)
# Requirements
1. Node.js >= 12.22.0
2. Docker
> _Before getting started, make sure that Docker (Desktop) is running if you
want to work locally, otherwise commands may fail, etc._
# Getting started
1. Use this repository as template or create a new repository by cloning
2. Visit [Codecov](https://codecov.com/) and [register your repo][CodecovDocs]
3. Head to the repository Settings > [Secrets](./settings/secrets/actions) for
registering your Codecov token
4. Add a new secret: `CODECOV_TOKEN`
## Run apps locally
1. Clone or use this repository as template
2. Install [pnpm](https://pnpm.io/installation)
([for obvious reasons](https://pnpm.io/motivation)):
`npm install -g pnpm`
3. Install packages:
`pnpm i`
4. Run apps:
`pnpm dev`
- Backend server will run at
- Frontend server will run at
## Run apps on Docker
In the root folder, just run:
`pnpm dock`
- Backend server will run at
- Frontend server will run at
- Storybook server will run at
> Make sure to add the following host-names to the host file to imitate the
domain names _([How to edit][HTE])_
> 127.0.0.1 nameless.local
> 127.0.0.1 api.nameless.local
> 127.0.0.1 storybook.nameless.local
## Linting
Run ESLint with Prettier for static analysis and applying consistent code
formatting:
`pnpm lint`
## Testing
This project consists of integration tests and unit tests upon the necessity of
requirements
Run Jest for running tests:
`pnpm test`
[GitHub Actions]: https://github.com/features/actions/
[Fastify]: https://www.fastify.io/
[HTE]: https://phoenixnap.com/kb/how-to-edit-hosts-file-in-windows-mac-or-linux
[CodecovDocs]: https://docs.codecov.com/docs/quick-start#getting-started