User Tools

Site Tools


projects:projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:projects [2024/10/10 05:49] – [Create Bare Central Git] jhagstrandprojects:projects [2026/06/12 21:14] (current) – [Deploy] jhagstrand
Line 1: Line 1:
 Projects: Projects:
 ======Projects====== ======Projects======
 +
 +=====List of Projects=====
  
 Each project is a web app, a subdomain of voyc.com, stored in gitlab (previously github). Each project is a web app, a subdomain of voyc.com, stored in gitlab (previously github).
Line 17: Line 19:
  
 [[projects:minimal:minimal]] - html, css, javascript for a minimal web app [[projects:minimal:minimal]] - html, css, javascript for a minimal web app
 +
  
 === Apps === === Apps ===
  
-[[projects:voyc:voyc]] - aka [[projects:geo:geo]], replaced by global and then by geo+[[projects:homepage:homepage]] - homepage for voyc.com 
 + 
 +[[projects:pokerface:pokerface]] - facial expressions of artificial feelings 
 + 
 +[[projects:geo:geo]] - geopolitics map drawing 
 + 
 +[[projects:curriculum:curriculum]] - voycipedia
  
 [[projects:global:global]] - previously voyc, before geo [[projects:global:global]] - previously voyc, before geo
Line 52: Line 61:
 [[projects:timeline:timeline]] - timeline [[projects:timeline:timeline]] - timeline
  
-[[https://docs.google.com/spreadsheets/d/19pIRXgSPT8AFUTCPh-eTPc8Ej9RInxtj518fo-t2HVs/edit?usp=sharing | projects checklist]]+[[projects:voyc:voyc]] - leftover from when geo/global was voyc.com 
 + 
 +[[https://docs.google.com/spreadsheets/d/19pIRXgSPT8AFUTCPh-eTPc8Ej9RInxtj518fo-t2HVs/edit?usp=sharing | projects checklist sheet]] 
 + 
 +[[https://docs.google.com/spreadsheets/d/1Hs1h9R91J8e3biNyIzN-aX_iER-cJ1zTMMGI4BeC-IA/edit?gid=2023137882#gid=2023137882 | webapps sheet]] 
 + 
  
 =====Developer Guidelines===== =====Developer Guidelines=====
  
-====Search Engines====+==== Tab Indents ==== 
 + 
 +Always use the tab character to indent. 
 + 
 +====.gitignore==== 
 + 
 +  robots.txt 
 +  .well-known/
 +  js.min 
 +  css.min 
 +  index.php 
 +  RELEASES.md 
 +==== Duplicate Content ====
  
 Most of our projects have a dev and a production version.\\ Most of our projects have a dev and a production version.\\
Line 121: Line 148:
 Note that use the ssh protocol; never the local protocol. Note that use the ssh protocol; never the local protocol.
  
-====git Workflow====+==== voyc git Workflow====
  
-=== Develop in webapps or webdev=== +== refresh the local repo and worktree == 
- +  git clone ssh://voyccom@az1-ss8.a2hosting.com:7822/home/voyccom/voycgit/vote.git
-== recreate or refresh the worktree== +
-  git clone ssh://voyccom@az1-ss8.a2hosting.com:7822/home/voyccom/voycgit/jslib.git +
-    or +
-  git clone /home/voyccom/voycgit/jslib.git +
-    or+
   git branch   # make sure you're in the master branch   git branch   # make sure you're in the master branch
   git pull origin master   git pull origin master
   git submodule foreach git pull origin master   git submodule foreach git pull origin master
  
-== create a feature branch, do your work, commit== +== start development == 
-  git branch newfeature +  git branch popup         # create a feature branch 
-  git checkout newfeature+  git checkout popup 
 + 
 +== development ==
   <make changes>   <make changes>
   git status   git status
-  git add * +  git add . 
-  git commit -m 'New feature'+  git commit -m 'New popup architecture  # version control 
 +  git push origin popup      # remote backup
  
-== merge to master, delete feature branch==+== pull in simultaneous development from server - ???? == 
 +  git switch master 
 +  git pull origin master  
 +  git checkout popup 
 +  git rebase master               # merge modified master into popup branch, resolve conflicts here 
 + 
 +== complete development ==
   git checkout master   git checkout master
-  git merge newfeature +  git merge popup 
-  git diff master..newfeature +  git diff master..popup 
-  git branch -d newfeature+  git branch -d popup 
 +  git push origin master      # push to central 
 +  git push origin -d popup   # delete branch from central
  
-== push finished master branch up to voycgit == +== in webprod ==
-  git push origin master +
- +
-=== Publish in webprod ===+
   git pull origin master   git pull origin master
   git push gitlab master   git push gitlab master
  
-=====.gitignore=====+==== voyc release management ====
  
-  robots.txt +Trends in release management as of 2026
-  .well-known/* +  * 50/72 rule. A commit message has three lines (title, blank, body).  The first line is the title and it is 50 characters long The second line is blank.  The third and subsequent lines make up the body; they are bullets, and they are 72 characters long.  [Ed. title is my word.  Other people say description or subject.] 
-  js.min +  * Conventional Commits.  The first line of the commit message is prefixed with a category: feat, fix, perf, style, refactor, test, build, chore.  This rule overrides an earlier rule that the title should be capitalized
-  css.min +  * Semantic Versioning.  Each release is numbered major.minor.patch, like 14.3.5. When a development group breaks backward compatibility, now a normalized behavior, they assign a new major number.  When a bug is discovered that is so dangerous it must be fixed immediately, they release a patch.
-  index.php+
  
 +{{https://en.wikipedia.org/wiki/Conventional_Commits_Specification | more on Conventional Commits}}\\
 +[[https://semver.org/ | more on Semantic Versioning]] \\
 +[[https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html | Tim Pope: A Note About Git Commit Messages, 2008.]]\\
 +
 +At voyc we use these above trends in commit messages and tag messages.  The log of commit messages is detailed for developers.  The list of tag messages is more abstract, for users and managers.  Release histories are generated by script from the list of tag messages.
 +
 +At deployment, a file named RELEASES.md is generated from the tag messages by a script.  It is not committed; it listed in .gitignore.
 +
 +[[..:git | more about log and tag]]
 +
 +  # All tags with their full messages, most recent first
 +  git tag -l --sort=-version:refname | xargs -I{} git show {} --no-patch --pretty=format:"%tag %*%(tag)%n%s%n%b%n---"
 +  
 +  git for-each-ref --sort=-version:refname --format="%(refname:short)%0a%(contents)%0a---" refs/tags
 +
 +==== Deploy ====
 +
 +  # in laptop dev repo
 +  
 +  # git filter-repo --mailmap .mailmap --force
 +  # lint
 +  
 +  git checkout master
 +  git merge blend
 +  git branch -d blend
 +  
 +  git tag v0.0.0 -m'...'
 +  
 +  git push origin master --force --tags
 +  git push origin --delete blend
 +  
 +  # in production webserver
 +  
 +  git fetch origin
 +  git reset --hard origin/master
 +  
 +  git push gitlab master --tags
  
projects/projects.1728553773.txt.gz · Last modified: 2024/10/10 05:49 by jhagstrand

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki