Skip to content

Development Practices

Robert L edited this page Nov 9, 2024 · 16 revisions

Repo

Repo Structure

Folder naming scheme: kebab-case

admin/
├── assets/
├── meetings/
└── sprints/
   ├── sprint-0/
   ├── sprint-1/
   ├── sprint-2/
   └── sprint-3/

comp4350-project/
├── backend/
├── frontend/
|   ├── react/
|   └── flutter_client/
└── .github/
   └── ISSUE_TEMPLATE

Issue Tracking

Issue Hierarchy

Feature > UserStory > Task

NonFunctionalRequirement(NFR) > Task

Issue Labels

Same naming conventions found as SE-EDU: Working with GitHub labels our Names and Descriptions may not be the same

Category (c.): [Bug] [Enhancement] [Feature] [Message] [UserStory]

Priority (p.): [Low] [Medium] [High] [Urgent] [Critical]

Status (s.): [OnHold] [Rejected] [ToReview]

Attribute (a-): [Documentation] [MVP]


Branching

Branch Categories:

  • dev/ Default branch type. For (where most work is done)
  • test/ (NOT TO MERGE WITH NON-test/ BRANCHES) For any Testing or Experimental code that is for R&D
  • workflow/ For Github Workflow & Actions
  • doc/ For Documentation
  • hotfix/ For quick fixes
  • bug/ For proper bug fixes

Branch Naming

  • (Unless main) Branch names' are prefixed with a category, followed by a forward slash / (e.x. dev/)
  • Branch names are in (kebab-case)** (e.x. branch-name) Examples:
Correct Wrong
✅dev/your-branch-name ❌dev-your-branch-name
✅dev/rc-form-remove ❌dev.rc-form-remove
✅dev/race-add-boat ❌dev/raceAddBoat
✅dev/foo-button ❌Dev/foo--button
✅dev/play-button ❌Dev/play-button

Example (work in progress)

%%{init: {'theme': 'base', 'gitGraph':{'showBranches': true, 'showCommitLabel': false, 'mainBranchOrder': 2}} }%%
gitGraph
 commit
 branch "Working Branch" order: 1
 branch Production order: 3
Loading

Dev Tools & Programs

Backend

Frontend

Testing & Deployment - Devices/Environments

  • Web Client for Testing:
    • Browser: -->
    • Version: -->
    • API Level: -->
  • Mobile Client Emulator:
    • Phone: Pixel 7a
    • Version: Android 15
    • API Level: 35
    • (Default settings in Android Strudio's emulator for all other settings)
  • Sailing Race Analyzer
  • Features
    • Web App
    • Mobile App
  • Repo
  • Issue Tracking
  • Branching
  • Dev Tools & Programs
  • Architecture
  • Database Structure
  • Network
  • Sequence Diagrams
  • Backend
  • REACT
  • Flutter

Clone this wiki locally