- node and npm
- git
- Set your name in git
git config --global user.name "your name"
- Set your email in git
git config --global user.email "your email"
(verify withcat .git/config
) - We use prettier formatter so set it on save in your IDE as default formatter and install any additional prettier extension
- Run
npm install
- Environment variables are needed to provide firebase credentials, request them from a dev.
- Run entire app:
npm run dev
- Run just the client:
npm run dev:client
- Run just the server:
npm run dev:server
- Build entire app:
npm run build
- Serve entire build :
npm run serve
- Build just the client:
npm run build:client
- Build just the server:
npm run build:server
npm run start
is used for deploy the server
- No debugging code in PR
- No comments in PR
- Make sure your changes are responsive and they not brake the desktop/mobile view
- We follow Atomic Design for our folder/files structures (except templates)
- We follow some sort of BEM (Blocks, Elemets, Modifiers) css methodology, check the current classNames in an existing module.
- All branches are created from the latest
develop
branch - All branches are merged into
develop
branch - Branch and PR names must start with
ECM-<ticketNumber>-<name>
- Commits must start with
ECM-<ticketNumber>
and be descriptive.
- We work with 2 environments
develop
(local) andstaging
(deployed) - We work with Semantic Versioning system (
vA.B.C
)A
MAJOR version when you make incompatible API changesB
MINOR version when you add functionality in a backwards compatible mannerC
PATCH version when you make bug fixes or hotfixes in staging
- Ideally,
staging
environment should be behind ofdevelop
by 1 "minor version" - When the sprint ends we deploy a new
release/v<sprintVersion>
and we QA it. - In the future we will add a production environment
- We have both applications deployed by render [elchamuyin's google credentials]
- The server url is https://elchamuserver.onrender.com
- The client url is https://elchamuyin.onrender.com
Sprint | develop | staging |
---|---|---|
1 | v1.2.x | v1.1.x |