🚀 Technologies
This project was developed with the following technologies:
ℹ️ Architecture
This projects was developed with the following principles, design patterns and methodologies:
Principles
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Separation of Concerns (SOC)
- Don't Repeat Yourself (DRY)
- You Aren't Gonna Need It (YAGNI)
- Keep It Simple, Silly (KISS)
- Composition Over Inheritance
Design Patterns
- Factory
- Adapter
- Composite
- Dependency Injection
- Abstract Server
- Composition Root
- Builder
Methodologies
- TDD
- Clean Architecture
- DDD
- Conventional Commits
- GitFlow
- Modular Design
- Use Cases
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
📦 Installation
Install project
Use recommended node version
$ nvm install
$ nvm use
Install dependencies
$ npm install
If you get npm ERESOLVE error, run
$ npm install --force
For Development
Run storybook
$ npm start
Run unit tests
$ npm run test:watch
Generate tarball to use for testing in another project
$ npm pack
Install tarball (from the other project)
$ npm install path/to/this/repo/habitvs-design-system-version.tgz
For production
Run all tests and generate coverage report
$ npm run jest:ci
Build
$ npm run build
Build Storybook
$ npm run build:storybook