Worldwide, there have been over a million cases of animal cruelty over the past decade. With people stuck at home, bottling up their frustrations. Moreover, due to COVID, these numbers aren’t going down anytime soon. To tackle these issues, we built this game, which has features like:

* Reminiscent of city-building simulators like Sim-City.
* Build and manage your animal shelter.
* Learn to manage finances, take care of animals, set up adoption drives.
* Grow and expand your shelter by taking in homeless animals, and giving them a life.

The game is built with Unity game engine, and runs on WebGL, utilizing the power of Wix Velo, which allows us to quickly host and distribute the game across platforms from a single code base.
## Inspiration

There are two types of pets wandering unsupervised in the streets - ones that are lost and ones that don't have a home to go to. Pet's Palace portable mini-shelters services these animals and connects them to necessary services while leveraging the power of IoT.

## What it does

The units are placed in streets and alleyways. As an animal approaches the unit, an ultrasonic sensor triggers the door to open and dispenses a pellet of food. Once inside, a live stream of the interior of the unit is sent to local animal shelters which they can then analyze and dispatch representatives accordingly. Backend analysis of the footage provides information on breed identification, custom trained data, and uploads an image to a lost and found database. A chatbot is implemented between the unit and a responder at the animal shelter.

## How we built it

Several Arduino microcontrollers distribute the hardware tasks within the unit with the aide of a wifi chip coded in Python. IBM Watson powers machine learning analysis of the video content generated in the interior of the unit. The adoption agency views the live stream and related data from a web interface coded with Javascript.

## Challenges we ran into

Integrating the various technologies/endpoints with one Firebase backend.

## Accomplishments that we're proud of

A fully functional prototype!
# Arctic Miner - The Crypto Club Penguin

Basic blockchain game that allows the user to collect penguins, breed them as well as trade them. All penguins are stored on the ethereum blockchain.

## What it Does

Our program Arctic Miner is a collection game that takes advantage of the **ERC721** token standard. This project allows the user to have a decentralized inventory of penguins that have specific traits. The user can breed these penguins to create offspring that have different traits that takes advantage of our genetic algorithm. Each penguin is it's own **non-fungible** ERC721 token with it's own personal traits that are different from the other penguins.

## How We Built it

Arctic Miners runs on Angular front end with the smart contract being mode with Solidity

## What We Learned

Over the course of this hackathon, we learned a lot about various token standard as well as applications of the blockchain to create decentralized applications. In terms of sheer programming, we learned how to use Angular.js and Solidity. No group member had prior experience with either beforehand.

## Useful Definitions

**Non-Fungible:** non fungible tokens are tokens that have their own respective value and are not equivalent to other members of the same class. To explain metaphorically, a fungible token would be like a one dollar note. If I have a dollar note and you have a dollar note, and we trade them, neither one of us is at a loss since they are the exact same. A non-fungible token would be like a trading card. If I have a Gretzky rookie card and you have a Bartkowski card, technically both are hockey card, but the Gretzky card has a higher value than the Bartowski one; thus separating the two.

**ERC721:** this is a non-fungible token standard that differs from the more common ERC20 token which is fungible.

## Installation and setup

The node-modules/dependencies can be installed by running the following command in the root directory terminal:

```
npm install

```

Following dependencies in order to use the smart contracts:

* solidity 0.4.24

To compile the contracts first enter the following commands in the contracts folder:

```
npm install truffle
npm install babel-register
npm install babel-polyfill
npm install solc@0.4.25
truffle compile

```

## How to run on a local machine

This web app was created using Angular.js
You will need to install Ganache if you would like to locally host the blockchain, otherwise the truffle file will need to be updated to use infura.
To build, simply enter in the terminal mapped to the root folder the following command:

```
ng server

```

Then, visit <http://localhost:4200> to see the visualization