Bike store management app (Yamaha bikes only)
Contributing Guidelines
·
Submit an Issue
- Nx (build system with monorepo support)
- Angular (latest version)
- TailwindCSS
- TypeScript, SASS, HTML5
- Storybook
Before you can build and test Angular, you must install and configure the following products on your development machine:
-
Git and/or the GitHub app (for Mac and Windows); GitHub's Guide to Installing Git is a good source of information.
Windows Users: Git Bash or an equivalent shell is required
Windows Powershell and cmd shells are not supported #46780 so some commands might fail -
Node.js, (version specified in the engines field of
package.json
) which is used to run a development web server, run tests, and generate distributable files. -
Yarn (version specified in the engines field of
package.json
) which is used to install dependencies. -
Angular CLI
npm install -g @angular/cli
-
Nx
npm install -g nx
Run nx serve bikes-ui
for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run nx run bikes-ui:test
for Jest Unit Tests, nx e2e bikes-ui-e2e
for Cypress E2E tests.
The following resources helps us communicate expectations, manage contributions, and keep track of the project.
-
README.md (this document) describes development setup of the project including documentation, architecture, code standards, setup of testing, automation, github flow, etc.
-
CONTRIBUTING.md describes coding standards and best practices use in this project, sort of developer how-to
-
Architectural Decision Records documents that capture an important architectural decision made along with its context and consequences
-
CHANGELOG.md keeps track of changes in latest releases. We use SemVer for versioning
-
Code Tour (VSCode Extension): to quickly review step-by-step code implementation (see how-to use)
-
Github Projects used for project management and keeping track of bugs
-
Storybook for a quick reference of project reusable components
-
LICENSE.md this project is licensed under MIT License
We think it's important to communicate how we are planning to build a software system or how an existing software system works. If software development team doesn't think about architecture all sort of problems can appear (inconsistent approaches to solving the same problems, deployment problems, maintenance issues, code that hard to scale, etc).
We document our software system architecture using C4 Model approach and Structurizr tool.
Note: architecture diagram goes here
Describe testing setup. Here is an ADR draft that I've been working on for my personal project so that you can understand better my thought process. fyi, it is incomplete.
- Continuous integration (CI) setup
- Continuous deployment (CD) setup
- Automatically format and lint code with pre-commit
- etc.
Describe setup and tools that are used to monitor project health
List of project helpful contacts (especially useful for new developers)