# dasein
A social network
+
+## Configuring
+
+This project usese environment variables to work. For most cases, the
+defaults work but some sensitive info like keys must be overridden. Copy
+the file in `config/env.dist` to `.env` in the project root and override
+the values.
+
+When running with `make run`, it'll pick up these values automatically.
+If you're doing it the hard way, you'll have to source them.
+
+## Running Locally
+
+You'll need [Docker][docker] to run the project.
+
+* Run the image with `make run`
+
+## Running locally the hard way
+
+If you don't want to use docker, you can also run it the old fashioned
+way.
+
+1. Install dependencies with `yarn install` (recommended), or `npm install`
+2. Run with `npm start`
+
+## Generating documentation
+
+This project uses JSDoc to generate documentation. Generate everything
+with `npm run document`. The documentation will be generated in the
+`doc` directory.
+
+## Building and pushing the image
+
+You can also do some other operations
+
+* Build the image with `make build`
+* Push and build the image with `make upload`
+* Clean the environment with `make clean`
+
+## Setting up Twitter for login
+
+1. Create an app on https://apps.twitter.com/
+2. Make sure you check "Allow this application to be used to Sign in with Twitter"
+3. Make sure you specify a callback URL (eg. http://localhost:1927/login-callback)
+
+## Checking the code
+
+This project uses the [Hapi Style Guide][hapi-style-guide] for
+javascript style, and includes eslint configuration to check them. Run
+`npm run lint` to check the code.
+
+[docker]: https://www.docker.com/
+[hapi-style-guide]: https://hapijs.com/styleguide