Giter VIP home page Giter VIP logo

employee-scheduling-api's Introduction

Employee Scheduling API

Gitter Build Status Build status Dependency Status devDependency Status Coverage Status Code Climate License

An API component for Employee Scheduling application that makes employee scheduling and management easy, fast and mobile. The UI component for this application can be found here. I wrote a few blog posts about this project and they can be found on my blog.

Table of Contents

Technologies Used

Technologies Used

Features

##Installation & Configuration ###Platform & Tools You need to have installed follow tools on your machine:

###Installation The steps 3 and 8 are only required when you don't have local instance of Couchbase Server 4.0 configured. If you've already configured a local instance of Couchbase Server 4.0 or newer, the application can use this instance as long as you specify the credentials to connect to Couchbase within the application config.js file.

1. Clone or fork this repository:

$ git clone [email protected]:martinmicunda/employee-scheduling-api.git 
$ cd employee-scheduling-api

2. Install local dependencies

$ npm install

3. The following command will add a new ubuntu trusty64 box, and if an existing one is found, it will override it:

$ vagrant box add ubuntu/trusty64 --force

NOTE: This process may take a while, as most Vagrant boxes will be at least 200 MB big.

Verify that box was installed by running the list subcommand that will list the boxes installed within Vagrant along with the provider that backs the box:

$ vagrant box list
ubuntu/trusty64  (virtualbox, 14.04)

4. The following command will install an ansible roles for this project, and if an existing one is found, it will override it:

$ ansible-galaxy install franklinkim.docker franklinkim.docker-compose moviedo.nvm --force

Verify that ansible roles were installed by running the list subcommand that will list the installed roles:

$ ansible-galaxy list
franklinkim.docker, 1.5.0
franklinkim.docker-compose, 1.1.0
moviedo.nvm, v1.1.1

5. Now, run vagrant up command that will install Docker, Docker Compose, NVM inside of vagrant box:

$ vagrant up

NOTE: Vagrant will provision the virtual machine only once on the first run, any subsequent provisioning must be executed with the --provision flag either vagrant up --provision or vagrant reload --provision . The provisioning will re-run also if you destroy the VM and rebuild it with vagrant destroy and vagrant up .

6. Once the box is up and running we can ssh into box:

$ vagrant ssh

and run Couchbase Server:

$ cd api
$ docker-compose up db

NOTE: This process may take a while, when you run this command for the first time as it pull couchbase docker image from docker repository.

7. As we are running the Couchbase Server for the first time we need to make sure the server is configured properly before we start any development. The below command will provision Couchbase Server instance:

$ npm run setup

8. Now when we provisioned Couchbase Server instance we can seed this instance with an application data:

$ npm run seed

Finally, open up your browser and navigate to Couchbase admin UI http://localhost:8091 with username: Administrator and password: password.

##How to Run

Start the couchbase:

$ vagrant up && vagrant ssh
$ cd api
$ docker-compose up db

Start the server:

$ npm start

NOTE: The dotenv is use as an environment variable manager that loads environment variables from .env into ENV (process.env).

Start the server with nodemon:

$ npm run dev

From time to time you might want to reset and seed data; to achieve this you can run a follow command:

$ npm run seed

##How to Test TODO

##How to Release TODO

FAQ

What if I want to uninstall application?

1. The following command would permanently removes the default virtual box from your machine:

$ vagrant destroy

2. The following command will uninstall an ansible roles for this project:

$ ansible-galaxy uninstall franklinkim.docker franklinkim.docker-compose moviedo.nvm

3. The following command will remove trusty64 box:

$ vagrant box remove trusty64

###What if I want a fresh install? If you wish to destroy the default virtual boxe to make sure you have a fresh start, you can do these steps:

 $ vagrant destroy 
 $ vagrant up

License

Copyright (c) 2014-2015 Martin Micunda  

Source code is open source and released under the GNU GPL v3 license.

employee-scheduling-api's People

Contributors

martinmicunda avatar

Watchers

MUHAMMAD MANNIR AHMAD avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.