Coder Social home page Coder Social logo

tanbinh123 / bonvoyage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from peacecorps/bonvoyage

0.0 0.0 0.0 7.62 MB

:airplane: An application intended to streamline communication surrounding Peace Corps Volunteer requests to travel

Home Page: http://travel.peacecorps.me

JavaScript 75.30% CSS 20.69% HTML 4.01%

bonvoyage's Introduction

BonVoyage: Peace Corps Leave Request Application

Build Status Coverage Status

BonVoyage is a web application built to provide a simplified and automated web-based method for Peace Corps volunteers to request leave.

Demo Image

This project is currently in development under Patrick Choquette and Project Delta.

Peace Corps: peacecorps.gov

Project Delta: projectdelta.io

Peace Corps Team:

  • Patrick Choquette

Development Team:

  • Albert Zhang
  • Ben Chang
  • Edwin Tan

Project Delta Team:

  • Colin King
  • Hiroshi Furuya
  • Sean Bae

Tech Stack Overview

This project is built on top of Node.JS and uses the Express.JS web application framework. The leave request data is stored in a NoSQL database, MongoDB, and we use Mongoose to manage our database schemas. We use Jade as an HTML pre-processor and SASS as a CSS pre-processor. Gulp automates the process of linting and pre-processing. Our service sends emails via Mailgun and SMS messages via Twilio. The website is hosted on Heroku.

Set up

Below is a tutorial on how to set up this web site to run locally.

Dependencies

Vagrant will be used to create a development environment where this web site can be run separated from your computer. In order to use Vagrant, you will also need to have installed VirtualBox.

  1. Install Virtualbox 5 here.

  2. Install Vagrant using an installer here.

Setting up our development environment

The rest of this tutorial will be completed on the command line. Open a new terminal window.

  1. Clone the project from GitHub.
git clone https://github.com/peacecorps/BonVoyage.git
cd BonVoyage
  1. Using Vagrant, create a new virtual machine (VM) with Ubuntu 14.04 and start it. The VM is already configured in the Vagrantfile, so all you have to do is tell Vagrant to start.
vagrant up
  1. SSH in to the new VM you just created.
vagrant ssh
  1. You are now in a new shell within the VM. Any commands that you run will be executed on the VM. First, we need to update the packages installed on the VM.
sudo apt-get update
  1. This web application is built using Node.js, so we need to install a version of Node and NPM (Node package manager). We will use NVM (Node version manager). So first install NVM and then reload the shell's profile to load NVM into your current shell.
touch ~/.profile
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.28.0/install.sh | bash
echo 'source ~/.profile;' >> ~/.bash_profile
source ~/.bash_profile
  1. NVM is now installed (check by running 'nvm --version'). Now install the most stable version of Node using NVM and set it to be the default version of Node.
nvm install stable
nvm alias default stable

Setting up the BonVoyage site

  1. Next we will install GIT.
sudo apt-get -y install git
  1. Now move into the BonVoyage directory, which has already been set up to be shared with the Vagrant instance.
cd BonVoyage
  1. Install all the necessary Node modules.
npm install
  1. Install MongoDB. You will need to get the download link for Ubuntu 14.04 from here. Replace the link below with the most recent stable version of MongoDB.
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz
tar -zxvf mongodb-linux-x86_64-ubuntu1404*.tgz
mkdir ~/mongodb
cp -R -n mongodb-linux-x86_64*/* ~/mongodb
rm -rf mongodb-linux-x86_64-ubuntu1404*
echo 'export PATH="$HOME/mongodb/bin:$PATH";' >> ~/.bash_profile
source ~/.bash_profile
sudo mkdir -p /data/db
sudo chown -R $USER /data/db
// Start mongo's daemon in another terminal window
mongod
  1. You are all set. Navigate back to the node folder and start the application.
cd BonVoyage
npm start
  1. Open a web browser and navigate to localhost:8080.

Other

I would recommend that you install nodemon to reload the app whenever code is saved.

npm install -g nodemon
cd BonVoyage
nodemon

Set up GIT to work properly on Vagrant.

git config --global user.email "[email protected]"
git config --global user.name "Your Name"
// Cache your GitHub logins
git config --global credential.helper cache
git config --global push.default simple

bonvoyage's People

Contributors

ben21045 avatar choquette33 avatar colinking avatar etan12 avatar seanbae avatar zedive 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.