An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


Nameless logo

Nameless Fullstack Starter Kit


A rich, full-stack boilerplate, built in TypeScript.




License


GitHub Actions


Codecov branch


Code Style


Conventional Commits


Dependencies


# 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