diff --git a/INSTALL.md b/INSTALL.md index 623e48ffc..faee7bb25 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,59 +1,85 @@ -# BUILDING FROM SOURCE +# Installing a dev environment By contributing to this project you agree to the [Code of Conduct](https://coralproject.net/code-of-conduct.html). ## Requirements -* [Node](https://nodejs.org/es/download/package-manager) -* Mongo -* Redis +### System -### Operating System - -- We recommend hosting [Talk](https://github.com/coralproject/talk) with any flavor of Linux +- Any flavor of Linux, OSX or Windows - 1GB memory (minimum) - 5GB storage (minimum) -## Initial Setup +### Software -### Get the code +* [Node](https://nodejs.org/es/download/package-manager) v7 or later +* Mongo v3.2 or later +* Redis v3.2 or later -Clone the repository: +_Please be sure to check the versions of these requirements. Insufficient versions of these may lead to unexpected errors!_ -` -git clone https://github.com/coralproject/talk -` +## First time setup ### Installation -* cd talk -* npm install +Navigate to a directory. + +``` +git clone https://github.com/coralproject/talk +cd talk +npm install +``` ### Environmental Variables -This project is using many environmental variables for configuration. You can learn about them in the [README's file](README.md). +Talk uses environmental variables for configuration. You can learn about them in the [README file](README.md). -### Local development -` +## Workflows + +### The server + +Starting the server: + +``` npm start -` +``` -It will run in http://localhost:$PORT +Browse to `http://localhost:3000` (or your custom port.) + +### Building the front end + +Our build process will build all front end components registered [here](https://github.com/coralproject/talk/blob/6052cac1d3494f8060325a88bb2ce03c88c2f94c/webpack.config.dev.js#L9-L15). + +One time build: + +``` +npm build +``` + +Build, then rebuild when a file is updated (development build): + +``` +npm build-watch +``` ### Testing -Run all tests once via: +Run all tests once: ` npm test ` +Run our end to end tests (will install Selenium and nightwatch): + ` npm run e2e ` +_Please ensure all tests are passing before submitting a PR!_ + ## Troubleshooting @@ -61,3 +87,9 @@ npm run e2e - Check that Redis Server is running. - Check that TALK_REDIS_URL is set. + +##### Authenticaiton doesn't work! + +- Make sure Redis is the correct version. + +