# polywiki TODO: Write a description here ## Installation ```sh # install dependencies make deps # make the binary make release # setup the database configuration cp config/database.yml.sample config/database.yml editor config/database.yml # initialize the database make sam db:setup # setup the wiki base configuration editor config/application.yml ``` ### Update ``` # roll the new migrations make sam db:migrate # make the binary make release ``` ## Usage TODO: Write usage instructions here ## Development ### Dependencies Documentation about software dependencies we use is written in shards.yml ### Database * We usually generate migration with `make sam generate:model ModelName field:type ...` * Sometimes to alterate existing table also `make sam generate:migration MigrationName` * Entries in the database are modelized following the principes: * Index what is often required * Don't make too many relations, but don't copy too much data * Always try to refuse null values, unless it make sense * Validate data on both application and database schema ## Contributing 1. Fork it () 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request ## Contributors - [Arthur Poulet](https://github.com/Nephos) - creator and maintainer