User Tools

Site Tools


projects:projects

This is an old revision of the document!


Projects:

Projects

Each project is a web app, a subdomain of voyc.com, stored in github.

voyc - aka geo, replaced by global and then by geo

global - previously voyc, before geo

samantha - AI webchat

classy - comment classifier

layout - browser screen splitter

sandbox - experiment and demo

bahasa - language

flash - flash card memorization

guru - random quote

mai - language

plunder - game added atop voyc

sanskrit - language

robots - multiple hardware projects

vote - ranked choice voting

wordnet - database only, sql version of Princeton's WordNet

account - submodule, user management

fx - submodule, library of game effects

model - starter project template

jslib - library of javascript tools

projects checklist

Developer Guidelines

Search Engines

Most of our projects have a dev and a production version.
Example:

  • jslib.voyc.com
  • jslib.hagstrand.com

These two sites have duplicate content.
We want to tell the search engines to index prod, not dev.
How do we do that?

option 1. robots.txt
User-agent: *
Disallow: /

This prevents the search engines from crawling the site.
But it does NOT prevent the search engines from indexing the site.

option 2. html meta
<meta name='robots' content='noindex,follow' />

This means that prod and dev will have a different line in index.html.
One way to accomplish that would be to use PHP.
Do we really want to do that?

option 3. password

How do we do that?

git Structure

Five Repository Groups

location name git purpose
gitlab gitlab voyc/proj.git (bare) public git host
a2 voycgit voycgit/proj.git central git repository
a2 webprod webprod/proj/.git production web host
a2 webdev webdev/proj/.git server development
local webapps webapps/proj/.git local development

Branches

gitlab, voycgit, and webprod have a master branch only.
webdev and webapps have a master branch and also a temporary feature branch.

Remotes

voycgit has no remotes.
gitlab has no remotes.

All other repositories have remote origin created by the initial clone from voycgit.

get remote -v
$ origin ssh://voyccom@az1-ss8.a2hosting.com:7822/home/voyccom/voycgit/jslib.git	
$ origin /home/voyccom/voycgit/jslib.git	

webprod also has remote gitlab

get remote -v
$ origin /home/voyccom/voycgit/jslib.git	
$ gitlab https://gitlab.com/voyc/jslib.git

git Workflow

Develop in webapps or webdev

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 pull origin master
git submodule foreach git pull origin master
create a feature branch, do your work, commit
git branch newfeature
git checkout newfeature
<make changes>
git status
git add *
git commit -m 'New feature'
merge to master, delete feature branch
git checkout master
git merge newfeature
git diff master..newfeature
git branch -d newfeature
push finished master branch up to voycgit
git push origin master

Publish in webprod

git pull origin master
git tag 1.0.01
git push --tags origin master
git push gitlab master
projects/projects.1725016901.txt.gz · Last modified: 2024/08/30 07:21 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