# Install

## Technical Aspects

This application is written with the go language using iris framework and stores its data in a mongo database. So in order to run it locally, you will need to install go and mongoDB. If you want to run the application inside a container, this application provides a dockerfile, so that you will be able to build and run the image by yourself.

## Prerequisites

MongoDB should run on your machine and a workspace of Golang should be defined.

1. Golang
2. Iris Golang
3. MongoDB
4. Docker (optional)

## Useful links for Prerequisites

* Go [Installation](https://golang.org/doc/install)
* Iris [Installation](https://iris-go.com/v10/start#Simple-Server)
* Iris [Documentation](https://docs.iris-go.com/)
* Use cases using Iris [Recipies](https://iris-go.com/v10/recipe)
* MongoDb [Intsallation](https://docs.mongodb.com/manual/installation/)
* Use of [MongoDb with Golang](https://labix.org/mgo)

## Install

1. Go to your workspace repo and clone the repository
2. `cd voting`
3. Install all dependencies using `go get` or  `dep init`
4. &#x20;run `go run app.go`

## Run

To run the application easily, you can use the docker-compose file with **`docker-compose up`**

PS: This is only for test purpose, customize your file for deployment
