Messenger application prototype builded with <3 and Javascript
You'll need the following software installed to get started.
- Node.js: Use the installer for your OS.
- Git: Use the installer for your OS.
- Windows users can also try Git for Windows.
- Bowserify : Run
npm install -g browserify watchify- Depending on how Node is configured on your machine, you may need to run
sudo npm install -g browserify watchifyinstead, if you get an error with the first command.
- Depending on how Node is configured on your machine, you may need to run
- Yeoman Run
npm install -g yo generator-feather- Depending on how Node is configured on your machine, you may need to run
sudo npm install -g yo generator-feather
- Depending on how Node is configured on your machine, you may need to run
Clone this repository
git clone [email protected]:nmarcetic/messenger-app.gitChange into the directory.
cd messenger-appInstall the dependencies. If you're running Mac OS or Linux, you may need to run sudo npm install instead, depending on how your machine is configured.
npm installTo start the server, run:
npm startThis will run and assemble our app.
Now go to localhost:3030 in your browser to see it in action.
The application is not yet fully containerized, docker-compose is responsible to spin our composition, for now we just run MongoDB container to avoid installing MongoDB on local env.
docker-compose up -dSince we use power of browserify to split our client code in modules, like we do with nodejs, we must build client side code running the compiling process, without watching any files, use the npm run build command .
You can check public/build/ folder for app.js output (contains all our client side code with all bundles).
Note When you change any client side file located under /public/src/ you must run npm run build command to apply the changes (e.g rebuild the code).
Since we use watchify which is watch mode for browserify builds, we can also watch for our source files changes runing npm run watch. Note Use this only on local env for development purpose.
Each changes, requires server reload, stop the server ctrl+c and run npm start again.