Core-Server is an open source web-server, with a standard VueJs integration and a nice api system.
We are also developping a mobile app native plugin in order to write your apps in VueJs.
Our goal is to write less code and reuse most of it anywhere.

With core-server you will be able to write a scallable web and mobile app.
You will also be able to communicate with databases like Mysql or Mongodb on a secure way.

In this documentation we will be creating a project with core-server from start to finish.
Starting from the very basic features to the more advanced ones.
Before you begin, you will need to install the core-server.
This can be done by clonning the git repositry and adding it manualy to your environment PATH or with npm.
We recommend using the npm package manager.

Core-Server can be installed by running the following command.
  npm install -g core-server
When this is done, the "core-server" command will be available in your terminal.
This command will be used in order to initialize and start your server.
In debug mode core-server will watch every file in your project to track changes.
This will amde you able to edit your api's and ui components without restarting your server.

If your project starts to be to big, the default file system watcher of NodeJS will occure some difficiluties to tracke changes.
Most of time it will not be a problem, but we recommand using watchman in order to avoid any possible problems.
Watchman will track changes into your project like the NodeJs watcher, but it can handle more files than the default NodeJs watcher. Core-Server automaticly detects if watchman is installed or not and switchs to watchman if it has been detected.

On Mac OSX watchman can be installed using homebrew.
  brew update
brew install watchman
On other systems like Windows we recommend you to take a look on this link.
Initialize a new project
To start off, we'll be needing the base project structure.
First of all we will make a folder named "project". This folder will be used as the base directory of your project.
Every example that will be showed in the documentation will be done on this project.
We can create a new project with core-server using the following command:
  mkdir project
cd project
core-server --init
Follow the steps that will appear in your terminal.
After completion, a new project will be configured!

The first question asks if you want to enable or disable the ui plugin into your project.
It's possible to make some projects where the ui will be disabled, and only API's will be used.
If it's your first time we recommend to let the ui enabled and continue to the next questions which are bacily the same ones as npm init.
Start the server
Your project has successfully been initialised, now it's time to run your first web server.
From your project roor directory you have run the core-server command in order to start the server.

Your project will start on localhost at port 8080.
Congratiulation! Your first project with core-server has just been started!
Next steps
In the next chapter you will learn more about the strucutre of your project.