Giffon uses Haxe-compiled JS on both client and server sides.
Install these
- Docker Community Edition is enough. In case your machine does not meet the requirements of Docker for Mac and Docker for Windows, you can use Docker Toolbox instead.
- Visual Studio Code
- Visual Studio Code Remote Development Extension Pack
After you have cloned the project:
git submodule update --init
to make sure the git submodules are up-to-date. If you're not a member of the giffon.io GitLab org, you may need to usegit submodule update --init lib
, because there is aprivate
submodule that is... private.- Open the project folder in VS Code. Select reopen in dev constainer when it prompts to do so, or use the green button at the bottom-left corner. It will build a container that contain Haxe, node, and run
npm install
automatically. It will also launch a MySQL container. npm run-script build
to build everything.npm start
to start the server. It should be accessible via https://localhost:3000. Use ctrl + c to stop the server. When the server script is rebuilt, the server will be automatically restarted by nodemon.
Deployment is automated by GitLab CI. The master
branch is deployed to https://master.giffon.io; the production
branch is deployed to https://giffon.io. Pushing to production
is a manual process.