-
Notifications
You must be signed in to change notification settings - Fork 0
Technical Documentation
Ali Dorri edited this page Dec 31, 2024
·
27 revisions
We define our technical guidelines, information, and decisions here.
- Java Script Style Guide
- Java Script Best Practices
- JavaScript Common Mistakes
- JavaScript Performance
- We use BEM for meaningful tags. This video is also very helpful.
- Use self-explaining codes: meaningful class, function, and variable names.
- Only use comments to describe the reason behind your code. Not the obvious.
root
├── assets # Include art files like fonts, images, etc
├── components
├── pages
├── scripts
├── styles
├── components.js
├── global.css
└── index.html
Frameworks, tools, and technologies we use for our project:
- Pure HTML, CSS, and JavaScript.
- Git and GitHub for version control.
-
Learn Git Flow
- We use Conventional Commits for commit messages.
Test cases and tools... will be completed
How to build and deploy our website... For now, we build and deploy manually. In the future, we can learn and use GitHub's CI/CD for automatic processes.
For versioning of our products, we use Semantic Versioning.
In simple terms, our product versions will be MAJOR.MINOR.PATCH like 0.1.0 or 1.4.2.
-
MAJORversion when you make incompatible API changes. -
MINORversion when you add functionality in a backward compatible manner. -
PATCHversion when you make backward compatible bug fixes.
- Developer is assigned a task.
- Developer starts task
- Moves the task from ToDO to Doing.
- Creates a feature branch of the develop branch with the
developerName-taskNamename.
- Developer finishes the task
- Moves the task from Doing to Done.
- Creates a pull request in the GitHub.
- Tech Lead reviews the task
- If it's OK
- Moves the task from Done to Accepted.
- Accepts pull request: Merges the feature branch with the develop branch.
- If it's not OK
- Moves the task from Done to Rejected.
- Tells the developer the issues to fix: With comments on the task, pull request, telegram, or on meets.
- Developer can start fixing the issues
- Moves the task from Rejected to Doing.
- Continues working on the feature branch.
- If it's OK