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 watchify
instead, 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.git
Change into the directory.
cd messenger-app
Install 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 install
To start the server, run:
npm start
This 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 -d
Since 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.