|
||
---|---|---|
assets | ||
Godeps | ||
templates | ||
vendor | ||
.gitignore | ||
admin_clients.go | ||
admin_endpoints.go | ||
admin_games.go | ||
admin_teams.go | ||
admin_users.go | ||
admin_votes.go | ||
assets.go | ||
main.go | ||
model_clients.go | ||
model_games.go | ||
model_teams.go | ||
model_users.go | ||
model_votes.go | ||
model.go | ||
page_session.go | ||
public_endpoints.go | ||
README.md |
ictgj-voting
The ICT GameJam Voting Application
Downloading and Running
Download a binary from the list below that is appropriate for your system
Run the binary, if a database is not found in the current directory, the application will walk you through
and initial set up (create an admin user, give the site a title, name the current game jam) and a database
will be created in the current directory
Command Line Arguments
Configuration arguments
Passing a configuration argument will save the value to the database for future use
-title=<title> Set the title for the site
-port=<port> The port to run the site on
-session-name=<name> A name to use for the session
-server-dir=<director> Directory to use for assets (templates/js/css)
-reset-defaults Reset all of the configurable site settings to their defaults
This only affects the settings that can be set from the command line
Runtime Arguments
These arguments only affect the current run of the application
-help Display the application help, breakdown of arguments
-dev Run in development mode, load assets (templates/js/css) from file system
rather than the binary
Prebuilt Binaries
Linux 64 bit
Linux 32 bit
Linux Arm
Mac OS
Windows 64 bit
Windows 32 bit
Building
go get github.com/devict/ictgj-voting
Developing/Contributing Notes
Do not make changes to assets.go
, this file is generated when you run go generate
Pass in the -dev
flag to enable development mode (load assets from the file system instead of embedded).
After making changes to assets (templates, javascript, css) be sure to run go generate
before go build
This regenerates the assets.go file
Please use the go tooling to match the standard go coding style. For parts that aren't bound by that style,
either try to match the already existing style, or give a reason why you think it should change.
Vendorings
- 'boltdb' as a data store: https://github.com/boltdb/bolt
- 'boltease' to manipulate the bolt db easier: https://github.com/br0xen/boltease
- Various 'gorilla' libraries for http server stuff: https://github.com/gorilla/
- context: https://github.com/gorilla/context
- handlers: https://github.com/gorilla/handlers
- mux: https://github.com/gorilla/mux
- securecookie: https://github.com/gorilla/securecookie
- sessions: https://github.com/gorilla/sessions
- 'alice' for http server middleware: https://github.com/justinas/alice
- 'uuid' for uuid generation: https://github.com/pborman/uuid
- 'esc' for embedding assets: https://github.com/mjibson/esc