Skip to content

Technical Documentation

Ali Dorri edited this page Dec 31, 2024 · 27 revisions

We define our technical guidelines, information, and decisions here.

Coding Conventions

Folder Structure

root
├── assets # Include art files like fonts, images, etc
├── components
├── pages
├── scripts
├── styles
├── components.js
├── global.css
└── index.html

Technology Stack

Frameworks, tools, and technologies we use for our project:

  • Pure HTML, CSS, and JavaScript.
  • Git and GitHub for version control.

Git Conventions

Testing

Test cases and tools... will be completed

Deployment & Infrastructure

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.

Semantic Versioning

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.

  • MAJOR version when you make incompatible API changes.
  • MINOR version when you add functionality in a backward compatible manner.
  • PATCH version when you make backward compatible bug fixes.

Development Workflow

Workflow Descriptions:

  • Start Task:
    • Moves the task from ToDO to Doing.
    • Creates a feature branch of the develop branch with the developerName-taskName name.
  • Develop: Commits on git.
  • Finish Task:
    • Moves the task from Doing to Done.
    • Creates a pull request in the GitHub.
  • Review Task: Checks if it's OK.
  • Accept Task:
    • Moves the task from Done to Accepted.
    • Accepts pull request: Merges the feature branch with the develop branch.
  • Reject Task:
    • 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.
  • Fix Issues of Task:
    • Moves the task from Rejected to Doing.
    • Continues working on the feature branch.

Clone this wiki locally