Make great game documentation
Devise is a web application for making easily-searchable, presentable, modular game documentation.
Currently, there isn't a way to just install the app to use in production, but we'll get there (I promise!).
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Devise relies on the following technologies:
- Vue
- Vuex
- GraphQL/Graphcool
- Apollo
- AT-UI
You'll need two things:
- Node Current
- A Graphcool account
Here's a brief intro about what a developer must do in order to start developing the project further:
# Download the project
git clone https://github.com/multi-cell/devise.git
cd devise/
# Install dependencies with a package manager of your choice
npm install
# OR
yarnThat should be everything you need to get up and running for development.
Building the application is pretty simple:
# Build and launch server for development
npm run dev
# Or, build for production
npm run buildDevise is built using webpack, and has different options for development and production.
We use webpack-dev-server for hot-module replacement. While it's up and running, you also have access to the following cool tools:
- webpack-dashboard. Install the desktop app and see the magic!
- Friendly webpack errors. Actually understand what the problem is!
- Desktop notifications, for when your build fails.
When building for production, we'll minify the code and such. It's not too special. You'll find the output in the dist directory.
We use SemVer for versioning. Or, we will, when we get to that point.
More info to come.
We rely mainly on integration testing to make sure things work properly, using Cypress. Check those docs when you need to write tests. Any written specs are run automatically during CI, and are fully recorded in order to review any issues that arise.
If you want to run tests, it's pretty simple.
# Build production version
npm run build
# Launch test server
npm run test:integrationThis launches a script that instantiates a serve instance in the dist folder, runs the tests, then kills the server. This process will change with the introduction of a GraphQL server in the near future.
That badge really says it all. You don't really need to worry about running formatting or linting commands; when you stage files and make a commit,
lint-staged will make sure to lint your files and format them using prettier-standard. But, if you must know:
# Lint JS files
npm run test:lint
# Format JS files in src/
npm run test:formatThe API for devise is found in another castle, which is still being built. Updates to come!
Currently, the database that this project uses is provided by Graphcool. We'll have instructions in the near future.
This project is licensed under the Apache 2.0 license, which you can check out in the LICENSE file.