66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# 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 (<https://github.com/Nephos/polywiki/fork>)
|
|
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
|