The principal branches are:
- master
- Final product.
- Do not merge from anything other than release and hotfix branches.
- develop
- Used for main line of work.
- Created from master
The secondary branches are:
- feature
- Feature to add or expand.
- Created from develop.
- release
- Hold candidates for new releases.
- Only for bug fixing.
- Created from develop.
- hotfix
- Solve bugs in main branch.
- Created from master.
- Once finished merge to master and develop.
- junk
- Functionality that is not going to be integrated.
- Use group tokens
group1/foo
group1/fuu
group2/foo
groupn/fnn
- Use short lead tokens
feat - Feature
junk - Throwaway branch
rel - Release
fix - Hotfix
-
Use slashes to separate parts
-
Do not use numbers
-
Avoid long names
Some examples:
feat/foo
feat/faa
rel/foo
fix/foo
junk/poc
- Create Github Repo
- Implement babel
- Create Project Structure
- Research Project Architecture
- Research TDD
- Implement tests with jest
- Implement TypesScript
- Implement .env config parser
- Create npm scripts
- Run tests successfully with new structure
- Create test database schema
- Create branching structure and naming conventions
- Create Loaders
- Express Loader
- Mongoose Loader
- Test Loaders
- Refactor mongoose loader for better testing. (Add functionality to close connections)
- Add Logs for errors
- Investigate how to log, types, when, why....
- Implement Winston Logger as a utility
- Change all logs with Winston logger
- Listen to uncaught exceptions and promises
- User Schema
- Create User Interface
- Create User Document
- Create User Model
- Create Schema
- Hash passwords with bcryptjs before saving users
- Create Tests
- Post Schema
- Create Post Interface
- Create Post Document
- Create Post Model
- Create Schema
- Create Tests
- PostComment
- Create PostComment Interface
- Create PostComment Document
- Create PostComment Model
- Create Schema
- Create Tests
- Create Mock Data Creators for Tests
- User Mock
- Post Mock
- PostComment Mock
- Create helpers to create entries in mongoose using mock data
- JWT