Monorepo nest react Boilerplate.
Developed with the software and tools below.
Boilerplate repository to create the Social Network graph application
Feature | Description | |
---|---|---|
⚙️ | Architecture | Utilizes a monorepo structure with clear separation into client-server models underpinned by NestJS and React frameworks. Includes efficient build tooling with Turbo and Vite. |
🔩 | Code Quality | Adheres to high standards with ESLint and Prettier integration. TypeScript is used extensively for type safety and robust code. |
📄 | Documentation | Extensive inline documentation and separate server/client package.json files dictating operational and developmental guidelines. |
🔌 | Integrations | Integrated with MinIO for object storage, leveraging Docker for environment consistency and NestJS for backend structure. |
🧩 | Modularity | Highly modular, separating functionality into server and client apps with a mix of reusable services and components. |
🧪 | Testing | Includes Jest for both unit and end-to-end testing, with specific configurations for e2e tests on the server side. |
⚡️ | Performance | Optimized build processes using Vite for the client and Turbo for task management, aiming for high-performance operations. |
🛡️ | Security | Employs Docker for secure and isolated environments; also uses strict TypeScript configurations for additional safety. |
📦 | Dependencies | Extensive use of npm packages, including React ecosystems, NestJS, TypeScript, and various testing libraries. |
🚀 | Scalability | Designed for scalability with modular components and a monorepo setup to accommodate growth in both services and applications. |
---
## Repository Structure
```sh
└── /
├── README.md
├── apps
│ ├── client
│ └── server
├── docker-compose.yml
├── package.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
└── turbo.json
System Requirements:
- Node:
version >= 20
- Clone the repository:
$ git clone ../
- Change to the project directory:
$ cd
- Install the dependencies:
$ pnpm install
Run using the command below:
$ pnpm dev
Run the test suite using the command below:
$ pnpm test