├── .gitignore ├── README.md ├── data ├── gameOfThrones.js ├── pokemon.js └── salesContacts.js ├── package.json └── server ├── controllers └── characterController.js ├── middleware └── index.js ├── models └── Character.js ├── routers └── characterRouter.js └── server.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## API Hackathon 2 | ### Create a RESTful API with a dataset of your chosing! 3 | * You can use one of the sample datasets I've provided, or hunt down one of your own using some of the links below. 4 | * Don't spend too much time gathering data! If you do decide to find your own dataset, I’d recommend starting by modeling a few items in JSON, using Postman or curl-ing a small sample of data, putting it in a JSON file or a simple mongo DB, and then building the URL endpoints and controllers to perform and serve up queries for the data. 5 | * Bonus points if you can deploy the API server and data to Heroku, Azure, or another PaaS of your choosing! 6 | 7 | ### Places to find data sets 8 | #### I've included sample data sets for sales contacts, Game of Thrones characters, and the original 151 Pokemon, though feel free to find your own! 9 | * https://github.com/jdorfman/awesome-json-datasets - An (awesome) list of JSON datasets that require no authentication 10 | * https://github.com/toddmotto/public-apis - A list of public API's to grab data from. 11 | * https://www.reddit.com/r/datasets - A small-ish subreddit devoted to free datasets (sorting by top/all time usually yields the best results) 12 | -------------------------------------------------------------------------------- /data/gameOfThrones.js: -------------------------------------------------------------------------------- 1 | var gameOfThronesData = [ 2 | { 3 | "name": "Petyr Baelish", 4 | "nickname": "Littlefinger", 5 | "house": "Baelish", 6 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/petyr-baelish-512x512.jpg" 7 | }, 8 | { 9 | "name": "Myrcella Baratheon", 10 | "nickname": null, 11 | "house": "Baratheon", 12 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/myrcella-baratheon-512x512.jpg" 13 | }, 14 | { 15 | "name": "Stannis Baratheon", 16 | "nickname": null, 17 | "house": "Baratheon", 18 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/stannis-512x512.jpg" 19 | }, 20 | { 21 | "name": "Tommen Baratheon", 22 | "nickname": null, 23 | "house": "Baratheon", 24 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/tommon-baratheon-512x512.jpg" 25 | }, 26 | { 27 | "name": "Roose Bolton", 28 | "nickname": null, 29 | "house": "Bolton", 30 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/roose-bolton-512x512.jpg" 31 | }, 32 | { 33 | "name": "Brienne of Tarth", 34 | "nickname": "Brienne the Beauty", 35 | "house": "Tarth", 36 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/brienne-of-tarth-512x512.jpg" 37 | }, 38 | { 39 | "name": "Bronn", 40 | "nickname": null, 41 | "house": "Lannister", 42 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/bronn-512x512.jpg" 43 | }, 44 | { 45 | "name": "Theon Greyjoy", 46 | "nickname": "Reek", 47 | "house": "Greyjoy", 48 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/theon-greyjoy-512x512.jpg" 49 | }, 50 | { 51 | "name": "Areo Hotah", 52 | "nickname": null, 53 | "house": "Martell", 54 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/areo-hotah-512x512.jpg" 55 | }, 56 | { 57 | "name": "Jaqen H'ghar", 58 | "nickname": null, 59 | "house": null, 60 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/jaqen-hghar-512x512.jpg" 61 | }, 62 | { 63 | "name": "Cersei Lannister", 64 | "nickname": null, 65 | "house": "Lannister", 66 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/cersei-lannister-512x512.jpg" 67 | }, 68 | { 69 | "name": "Jaime Lannister", 70 | "nickname": "Kingslayer", 71 | "house": "Lannister", 72 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/jamie-lannister-512x512.jpg" 73 | }, 74 | { 75 | "name": "Tyrion Lannister", 76 | "nickname": "The Imp", 77 | "house": "Lannister", 78 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/tyrion-lannister-512x512.jpg" 79 | }, 80 | { 81 | "name": "Melisandre", 82 | "nickname": "The Red Woman", 83 | "house": "Baratheon", 84 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/melisandre-512x512.jpg" 85 | }, 86 | { 87 | "name": "Missandei", 88 | "nickname": null, 89 | "house": "Targaryen", 90 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/missandei-512x512.jpg" 91 | }, 92 | { 93 | "name": "Doran Martell", 94 | "nickname": null, 95 | "house": "Martell", 96 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/doran-martell-512x512.jpg" 97 | }, 98 | { 99 | "name": "Trystane Martell", 100 | "nickname": null, 101 | "house": "Martell", 102 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/trystane-martell-512x512.jpg" 103 | }, 104 | { 105 | "name": "Jorah Mormont", 106 | "nickname": null, 107 | "house": "Targaryen", 108 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/jorah-mormont-512x512.jpg" 109 | }, 110 | { 111 | "name": "Daario Naharis", 112 | "nickname": null, 113 | "house": null, 114 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/daario-naharis-512x512.jpg" 115 | }, 116 | { 117 | "name": "Mance Rayder", 118 | "nickname": "The King in the North", 119 | "house": null, 120 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/mance-rayder-512x512.jpg" 121 | }, 122 | { 123 | "name": "Ellaria Sand", 124 | "nickname": null, 125 | "house": "Martell", 126 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/ellaria-sand-512x512.jpg" 127 | }, 128 | { 129 | "name": "Nymeria Sand", 130 | "nickname": "Sand Snake", 131 | "house": "Martell", 132 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/nymeria-sand-512x512.jpg" 133 | }, 134 | { 135 | "name": "Obara Sand", 136 | "nickname": "Sand Snake", 137 | "house": "Martell", 138 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/obera-sand-512x512.jpg" 139 | }, 140 | { 141 | "name": "Tyene Sand", 142 | "nickname": "Sand Snake", 143 | "house": "Martell", 144 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/tyene-sand-512x512.jpg" 145 | }, 146 | { 147 | "name": "Davos Seaworth", 148 | "nickname": "The Onion Knight", 149 | "house": "Baratheon", 150 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/davos-seaworth-512x512.jpg" 151 | }, 152 | { 153 | "name": "John Snow", 154 | "nickname": "The Bastard of Winterfell", 155 | "house": null, 156 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/john-snow-512x512.jpg" 157 | }, 158 | { 159 | "name": "Ramsay Snow", 160 | "nickname": "The Bastard", 161 | "house": "Bolton", 162 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/ramsay-512x512.jpg" 163 | }, 164 | { 165 | "name": "Arya Stark", 166 | "nickname": null, 167 | "house": "Stark", 168 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/arya-stark-512x512.jpg" 169 | }, 170 | { 171 | "name": "Bran Stark", 172 | "nickname": null, 173 | "house": "Stark", 174 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/bran-stark-512x512.jpg" 175 | }, 176 | { 177 | "name": "Sansa Stark", 178 | "nickname": null, 179 | "house": "Stark", 180 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/sansa-stark-160.jpg" 181 | }, 182 | { 183 | "name": "High Septon", 184 | "nickname": null, 185 | "house": null, 186 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/high-sparrow-512x512.jpg" 187 | }, 188 | { 189 | "name": "Daenerys Targaryen", 190 | "nickname": "Mother Of Dragons", 191 | "house": "Targaryen", 192 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/daenarys-512x512.jpg" 193 | }, 194 | { 195 | "name": "Samwell Tarly", 196 | "nickname": null, 197 | "house": null, 198 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/samwell-512x512.jpg" 199 | }, 200 | { 201 | "name": "Tormund Giantsbane", 202 | "nickname": null, 203 | "house": null, 204 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/tormund-512x512.jpg" 205 | }, 206 | { 207 | "name": "Margaery Tyrell", 208 | "nickname": null, 209 | "house": "Tyrell", 210 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/margarey-tyrell-512x512.jpg" 211 | }, 212 | { 213 | "name": "Olenna Tyrell", 214 | "nickname": "The Queen of Thorns", 215 | "house": "Tyrell", 216 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/olenna-tyrell-512x512.jpg" 217 | }, 218 | { 219 | "name": "Varys", 220 | "nickname": "The Spider", 221 | "house": null, 222 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/maetser-varys-512x512.jpg" 223 | }, 224 | { 225 | "name": "Aemon II Targaryen", 226 | "nickname": null, 227 | "house": null, 228 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/aemon-targaryen-512x512.jpg" 229 | }, 230 | { 231 | "name": "Lysa Arryn", 232 | "nickname": null, 233 | "house": "Arryn", 234 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/lysa-arryn-512x512.jpg" 235 | }, 236 | { 237 | "name": "Robin Arryn", 238 | "nickname": null, 239 | "house": "Arryn", 240 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/robyn-arryn-512x512.jpg" 241 | }, 242 | { 243 | "name": "Joffrey Baratheon", 244 | "nickname": null, 245 | "house": "Baratheon", 246 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/joffrey-512x512.jpg" 247 | }, 248 | { 249 | "name": "Renly Baratheon", 250 | "nickname": null, 251 | "house": "Baratheon", 252 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/renly-baratheon-512x512.jpg" 253 | }, 254 | { 255 | "name": "Robert Baratheon", 256 | "nickname": null, 257 | "house": "Baratheon", 258 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/robert-baratheon-512x512.jpg" 259 | }, 260 | { 261 | "name": "Jory Cassel", 262 | "nickname": null, 263 | "house": "Stark", 264 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/jory-cassel-512x512.jpg" 265 | }, 266 | { 267 | "name": "Rodrik Cassel", 268 | "nickname": null, 269 | "house": "Stark", 270 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/ser-rodrik-cassel-512x512.jpg" 271 | }, 272 | { 273 | "name": "Berric Dondarrion", 274 | "nickname": null, 275 | "house": null, 276 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/beric-dondarron-512x512.jpg" 277 | }, 278 | { 279 | "name": "Khal Drogo", 280 | "nickname": null, 281 | "house": null, 282 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/khal-drogo-512x512.jpg" 283 | }, 284 | { 285 | "name": "Syrio Forel", 286 | "nickname": null, 287 | "house": null, 288 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/syrio-forel-512x512.jpg" 289 | }, 290 | { 291 | "name": "Gendry", 292 | "nickname": null, 293 | "house": null, 294 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/gendry-512x512.jpg" 295 | }, 296 | { 297 | "name": "Grenn", 298 | "nickname": null, 299 | "house": null, 300 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/grenn-512x512.jpg" 301 | }, 302 | { 303 | "name": "Balon Greyjoy", 304 | "nickname": null, 305 | "house": "Greyjoy", 306 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/balon-greyjoy-512x512.jpg" 307 | }, 308 | { 309 | "name": "Yara Greyjoy", 310 | "nickname": null, 311 | "house": "Greyjoy", 312 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/yara-greyjoy-512x512.jpg" 313 | }, 314 | { 315 | "name": "Hodor", 316 | "nickname": null, 317 | "house": "Stark", 318 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/hodor-512x512.jpg" 319 | }, 320 | { 321 | "name": "Illyrio", 322 | "nickname": null, 323 | "house": null, 324 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/magister-illyrio-160.jpg" 325 | }, 326 | { 327 | "name": "Irri", 328 | "nickname": null, 329 | "house": "Targaryen", 330 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/irri-512x512.jpg" 331 | }, 332 | { 333 | "name": "Richard Karstark", 334 | "nickname": null, 335 | "house": "Stark", 336 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/karstark-512x512.jpg" 337 | }, 338 | { 339 | "name": "Lancel Lannister", 340 | "nickname": null, 341 | "house": "Lannister", 342 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/lancel-lannister-512x512.jpg" 343 | }, 344 | { 345 | "name": "Tywin Lannister", 346 | "nickname": null, 347 | "house": "Lannister", 348 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/tywin-lannister-512x512.jpg" 349 | }, 350 | { 351 | "name": "Maester Luwin", 352 | "nickname": null, 353 | "house": "Stark", 354 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/maester-luwin-512x512.jpg" 355 | }, 356 | { 357 | "name": "Marillion", 358 | "nickname": null, 359 | "house": "Arryn", 360 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/marillion-512x512.jpg" 361 | }, 362 | { 363 | "name": "Oberyn Martell", 364 | "nickname": "The Viper", 365 | "house": "Martell", 366 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/oberyn-512x512.jpg" 367 | }, 368 | { 369 | "name": "Sandor Clegane", 370 | "nickname": "The Hound", 371 | "house": null, 372 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/sandor-clegane-512x512.jpg" 373 | }, 374 | { 375 | "name": "Mirri Maz Duur", 376 | "nickname": null, 377 | "house": null, 378 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/mirri-maz-duur-512x512.jpg" 379 | }, 380 | { 381 | "name": "Septa Mordane", 382 | "nickname": null, 383 | "house": "Stark", 384 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/septa-mordane-512x512.jpg" 385 | }, 386 | { 387 | "name": "Jeor Mormont", 388 | "nickname": "The Great Bear", 389 | "house": null, 390 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/jeor-mormont-512x512.jpg" 391 | }, 392 | { 393 | "name": "Orell", 394 | "nickname": null, 395 | "house": null, 396 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/orell-512x512.jpg" 397 | }, 398 | { 399 | "name": "Osha", 400 | "nickname": null, 401 | "house": "Stark", 402 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/osha-512x512.jpg" 403 | }, 404 | { 405 | "name": "Podrick Payne", 406 | "nickname": null, 407 | "house": "Lannister", 408 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/podrick-payne-512x512.jpg" 409 | }, 410 | { 411 | "name": "Grand Maester Pycelle", 412 | "nickname": null, 413 | "house": "Lannister", 414 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/maester-pycelle-512x512.jpg" 415 | }, 416 | { 417 | "name": "Pyp", 418 | "nickname": null, 419 | "house": null, 420 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/pyp-512x512.jpg" 421 | }, 422 | { 423 | "name": "Qyburn", 424 | "nickname": null, 425 | "house": "Lannister", 426 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/qyburn-512x512.jpg" 427 | }, 428 | { 429 | "name": "Rattleshirt", 430 | "nickname": null, 431 | "house": null, 432 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/rattleshirt-512x512.jpg" 433 | }, 434 | { 435 | "name": "Ros", 436 | "nickname": null, 437 | "house": null, 438 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/ros-512x512.jpg" 439 | }, 440 | { 441 | "name": "Barristan Selmy", 442 | "nickname": "Barristan the Bold", 443 | "house": "Targaryen", 444 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/barristan-selmy-512x512.jpg" 445 | }, 446 | { 447 | "name": "Shae", 448 | "nickname": null, 449 | "house": null, 450 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/shae-512x512.jpg" 451 | }, 452 | { 453 | "name": "Janos Slynt", 454 | "nickname": null, 455 | "house": null, 456 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/janos-slynt-512x512.jpg" 457 | }, 458 | { 459 | "name": "Benjen Stark", 460 | "nickname": null, 461 | "house": null, 462 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/benjen-stark-512x512.jpg" 463 | }, 464 | { 465 | "name": "Catelyn Stark", 466 | "nickname": null, 467 | "house": "Stark", 468 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/catelyn-stark-512x512.jpg" 469 | }, 470 | { 471 | "name": "Eddard Stark", 472 | "nickname": "Ned", 473 | "house": "Stark", 474 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/eddard-ned-stark-512x512.jpg" 475 | }, 476 | { 477 | "name": "Rickon Stark", 478 | "nickname": null, 479 | "house": "Stark", 480 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/rickon-stark-512x512.jpg" 481 | }, 482 | { 483 | "name": "Robb Stark", 484 | "nickname": "The Young Wolf", 485 | "house": "Stark", 486 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/robert-stark-512x512.jpg" 487 | }, 488 | { 489 | "name": "Talisa Stark", 490 | "nickname": null, 491 | "house": "Stark", 492 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/talisa-stark-512x512.jpg" 493 | }, 494 | { 495 | "name": "Viserys Targaryen", 496 | "nickname": null, 497 | "house": "Targaryen", 498 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/viserys-targaryen-512x512.jpg" 499 | }, 500 | { 501 | "name": "Alliser Thorne", 502 | "nickname": null, 503 | "house": null, 504 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/allister-thorne-512x512.jpg" 505 | }, 506 | { 507 | "name": "Thoros of Myr", 508 | "nickname": null, 509 | "house": null, 510 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s3/thoros-160.jpg" 511 | }, 512 | { 513 | "name": "Brynden Tully", 514 | "nickname": "The BlackFish", 515 | "house": "Tully", 516 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/blackfish-tully-512x512.jpg" 517 | }, 518 | { 519 | "name": "Ygritte", 520 | "nickname": null, 521 | "house": null, 522 | "imageUrl": "http://i.lv3.hbo.com/assets/images/series/game-of-thrones/character/s5/ygritte-512x512.jpg" 523 | } 524 | ] -------------------------------------------------------------------------------- /data/pokemon.js: -------------------------------------------------------------------------------- 1 | var pokemon = [ 2 | { 3 | "number": 1, 4 | "name": "Bulbasaur", 5 | "types": ["Grass", "Poison"], 6 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Bulbasaur.png" 7 | }, 8 | { 9 | "number": 2, 10 | "name": "Ivysaur", 11 | "types": ["Grass", "Poison"], 12 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Ivysaur.png" 13 | }, 14 | { 15 | "number": 3, 16 | "name": "Venusaur", 17 | "types": ["Grass", "Poison"], 18 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Venusaur.png" 19 | }, 20 | { 21 | "number": 4, 22 | "name": "Charmander", 23 | "types": ["Fire"], 24 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Charmander.png" 25 | }, 26 | { 27 | "number": 5, 28 | "name": "Charmeleon", 29 | "types": ["Fire"], 30 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Charmeleon.png" 31 | }, 32 | { 33 | "number": 6, 34 | "name": "Charizard", 35 | "types": ["Fire", "Flying"], 36 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Charizard.png" 37 | }, 38 | { 39 | "number": 7, 40 | "name": "Squirtle", 41 | "types": ["Water"], 42 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Squirtle.png" 43 | }, 44 | { 45 | "number": 8, 46 | "name": "Wartortle", 47 | "types": ["Water"], 48 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Wartortle.png" 49 | }, 50 | { 51 | "number": 9, 52 | "name": "Blastoise", 53 | "types": ["Water"], 54 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Blastoise.png" 55 | }, 56 | { 57 | "number": 10, 58 | "name": "Caterpie", 59 | "types": ["Bug"], 60 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Caterpie.png" 61 | }, 62 | { 63 | "number": 11, 64 | "name": "Metapod", 65 | "types": ["Bug"], 66 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Metapod.png" 67 | }, 68 | { 69 | "number": 12, 70 | "name": "Butterfree", 71 | "types": ["Bug", "Flying"], 72 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Butterfree.png" 73 | }, 74 | { 75 | "number": 13, 76 | "name": "Weedle", 77 | "types": ["Bug", "Poison"], 78 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Weedle.png" 79 | }, 80 | { 81 | "number": 14, 82 | "name": "Kakuna", 83 | "types": ["Bug", "Poison"], 84 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kakuna.png" 85 | }, 86 | { 87 | "number": 15, 88 | "name": "Beedrill", 89 | "types": ["Bug", "Poison"], 90 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Beedrill.png" 91 | }, 92 | { 93 | "number": 16, 94 | "name": "Pidgey", 95 | "types": ["Normal", "Flying"], 96 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Pidgey.png" 97 | }, 98 | { 99 | "number": 17, 100 | "name": "Pidgeotto", 101 | "types": ["Normal", "Flying"], 102 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Pidgeotto.png" 103 | }, 104 | { 105 | "number": 18, 106 | "name": "Pidgeot", 107 | "types": ["Normal", "Flying"], 108 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Pidgeot.png" 109 | }, 110 | { 111 | "number": 19, 112 | "name": "Rattata", 113 | "types": ["Normal"], 114 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Rattata.png" 115 | }, 116 | { 117 | "number": 20, 118 | "name": "Raticate", 119 | "types": ["Normal"], 120 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Raticate.png" 121 | }, 122 | { 123 | "number": 21, 124 | "name": "Spearow", 125 | "types": ["Normal", "Flying"], 126 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Spearow.png" 127 | }, 128 | { 129 | "number": 22, 130 | "name": "Fearow", 131 | "types": ["Normal", "Flying"], 132 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Fearow.png" 133 | }, 134 | { 135 | "number": 23, 136 | "name": "Ekans", 137 | "types": ["Poison"], 138 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Ekans.png" 139 | }, 140 | { 141 | "number": 24, 142 | "name": "Arbok", 143 | "types": ["Poison"], 144 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Arbok.png" 145 | }, 146 | { 147 | "number": 25, 148 | "name": "Pikachu", 149 | "types": ["Electric"], 150 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Pikachu.png" 151 | }, 152 | { 153 | "number": 26, 154 | "name": "Raichu", 155 | "types": ["Electric"], 156 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Raichu.png" 157 | }, 158 | { 159 | "number": 27, 160 | "name": "Sandshrew", 161 | "types": ["Ground"], 162 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Sandshrew.png" 163 | }, 164 | { 165 | "number": 28, 166 | "name": "Sandslash", 167 | "types": ["Ground"], 168 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Sandslash.png" 169 | }, 170 | { 171 | "number": 29, 172 | "name": "Nidoran (♀)", 173 | "types": ["Poison"], 174 | "imageUrl": "http://nintendo.wikia.com/wiki/File:NidoranF.png" 175 | }, 176 | { 177 | "number": 30, 178 | "name": "Nidorina", 179 | "types": ["Poison"], 180 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Nidorina.png" 181 | }, 182 | { 183 | "number": 31, 184 | "name": "Nidoqueen", 185 | "types": ["Poison", "Ground"], 186 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Nidoqueen.png" 187 | }, 188 | { 189 | "number": 32, 190 | "name": "Nidoran (♂)", 191 | "types": ["Poison"], 192 | "imageUrl": "http://nintendo.wikia.com/wiki/File:NidoranM.png" 193 | }, 194 | { 195 | "number": 33, 196 | "name": "Nidorino", 197 | "types": ["Poison"], 198 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Nidorino.png" 199 | }, 200 | { 201 | "number": 34, 202 | "name": "Nidoking", 203 | "types": ["Poison", "Ground"], 204 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Nidoking.png" 205 | }, 206 | { 207 | "number": 35, 208 | "name": "Clefairy", 209 | "types": ["Normal"], 210 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Clefairy.png" 211 | }, 212 | { 213 | "number": 36, 214 | "name": "Clefable", 215 | "types": ["Normal"], 216 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Clefable.png" 217 | }, 218 | { 219 | "number": 37, 220 | "name": "Vulpix", 221 | "types": ["Fire"], 222 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Vulpix.png" 223 | }, 224 | { 225 | "number": 38, 226 | "name": "Ninetales", 227 | "types": ["Fire"], 228 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Ninetales.png" 229 | }, 230 | { 231 | "number": 39, 232 | "name": "Jigglypuff", 233 | "types": ["Normal"], 234 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Jigglypuff.png" 235 | }, 236 | { 237 | "number": 40, 238 | "name": "Wigglytuff", 239 | "types": ["Normal"], 240 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Wigglytuff.png" 241 | }, 242 | { 243 | "number": 41, 244 | "name": "Zubat", 245 | "types": ["Poison", "Flying"], 246 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Zubat.png" 247 | }, 248 | { 249 | "number": 42, 250 | "name": "Golbat", 251 | "types": ["Poison", "Flying"], 252 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Golbat.png" 253 | }, 254 | { 255 | "number": 43, 256 | "name": "Oddish", 257 | "types": ["Grass", "Poison"], 258 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Oddish.png" 259 | }, 260 | { 261 | "number": 44, 262 | "name": "Gloom", 263 | "types": ["Grass", "Poison"], 264 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Gloom.png" 265 | }, 266 | { 267 | "number": 45, 268 | "name": "Vileplume", 269 | "types": ["Grass", "Poison"], 270 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Vileplume.png" 271 | }, 272 | { 273 | "number": 46, 274 | "name": "Paras", 275 | "types": ["Bug", "Grass"], 276 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Paras.png" 277 | }, 278 | { 279 | "number": 47, 280 | "name": "Parasect", 281 | "types": ["Bug", "Grass"], 282 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Parasect.png" 283 | }, 284 | { 285 | "number": 48, 286 | "name": "Venonat", 287 | "types": ["Bug", "Poison"], 288 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Venonat.png" 289 | }, 290 | { 291 | "number": 49, 292 | "name": "Venomoth", 293 | "types": ["Bug", "Poison"], 294 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Venomoth.png" 295 | }, 296 | { 297 | "number": 50, 298 | "name": "Diglett", 299 | "types": ["Ground"], 300 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Diglett.png" 301 | }, 302 | { 303 | "number": 51, 304 | "name": "Dugtrio", 305 | "types": ["Ground"], 306 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dugtrio.png" 307 | }, 308 | { 309 | "number": 52, 310 | "name": "Meowth", 311 | "types": ["Normal"], 312 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Meowth.png" 313 | }, 314 | { 315 | "number": 53, 316 | "name": "Persian", 317 | "types": ["Normal"], 318 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Persian.png" 319 | }, 320 | { 321 | "number": 54, 322 | "name": "Psyduck", 323 | "types": ["Water"], 324 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Psyduck.png" 325 | }, 326 | { 327 | "number": 55, 328 | "name": "Golduck", 329 | "types": ["Water"], 330 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Golduck.png" 331 | }, 332 | { 333 | "number": 56, 334 | "name": "Mankey", 335 | "types": ["Fighting"], 336 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Mankey.png" 337 | }, 338 | { 339 | "number": 57, 340 | "name": "Primeape", 341 | "types": ["Fighting"], 342 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Primeape.png" 343 | }, 344 | { 345 | "number": 58, 346 | "name": "Growlithe", 347 | "types": ["Fire"], 348 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Growlithe.png" 349 | }, 350 | { 351 | "number": 59, 352 | "name": "Arcanine", 353 | "types": ["Fire"], 354 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Arcanine.png" 355 | }, 356 | { 357 | "number": 60, 358 | "name": "Poliwag", 359 | "types": ["Water"], 360 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Poliwag.png" 361 | }, 362 | { 363 | "number": 61, 364 | "name": "Poliwhirl", 365 | "types": ["Water"], 366 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Poliwhirls.png" 367 | }, 368 | { 369 | "number": 62, 370 | "name": "Poliwrath", 371 | "types": ["Water", "Fighting"], 372 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Poliwrath.png" 373 | }, 374 | { 375 | "number": 63, 376 | "name": "Abra", 377 | "types": ["Psychic"], 378 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Abra.png" 379 | }, 380 | { 381 | "number": 64, 382 | "name": "Kadabra", 383 | "types": ["Psychic"], 384 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kadabra.png" 385 | }, 386 | { 387 | "number": 65, 388 | "name": "Alakazam", 389 | "types": ["Psychic"], 390 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Alakazam.png" 391 | }, 392 | { 393 | "number": 66, 394 | "name": "Machop", 395 | "types": ["Fighting"], 396 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Machop.png" 397 | }, 398 | { 399 | "number": 67, 400 | "name": "Machoke", 401 | "types": ["Fighting"], 402 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Machoke.png" 403 | }, 404 | { 405 | "number": 68, 406 | "name": "Machamp", 407 | "types": ["Fighting"], 408 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Machamp.png" 409 | }, 410 | { 411 | "number": 69, 412 | "name": "Bellsprout", 413 | "types": ["Grass", "Poison"], 414 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Bellsprout.png" 415 | }, 416 | { 417 | "number": 70, 418 | "name": "Weepinbell", 419 | "types": ["Grass", "Poison"], 420 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Weepinbell.png" 421 | }, 422 | { 423 | "number": 71, 424 | "name": "Victreebel", 425 | "types": ["Grass", "Poison"], 426 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Victreebel.png" 427 | }, 428 | { 429 | "number": 72, 430 | "name": "Tentacool", 431 | "types": ["Water", "Poison"], 432 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Tentacool.png" 433 | }, 434 | { 435 | "number": 73, 436 | "name": "Tentacruel", 437 | "types": ["Water", "Poison"], 438 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Tentacruel.png" 439 | }, 440 | { 441 | "number": 74, 442 | "name": "Geodude", 443 | "types": ["Rock", "Ground"], 444 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Geodudes.png" 445 | }, 446 | { 447 | "number": 75, 448 | "name": "Graveler", 449 | "types": ["Rock", "Ground"], 450 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Graveler.png" 451 | }, 452 | { 453 | "number": 76, 454 | "name": "Golem", 455 | "types": ["Rock", "Ground"], 456 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Golem.png" 457 | }, 458 | { 459 | "number": 77, 460 | "name": "Ponyta", 461 | "types": ["Fire"], 462 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Ponyta.png" 463 | }, 464 | { 465 | "number": 78, 466 | "name": "Rapidash", 467 | "types": ["Fire"], 468 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Rapidash.png" 469 | }, 470 | { 471 | "number": 79, 472 | "name": "Slowpoke", 473 | "types": ["Water", "Psychic"], 474 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Slowpoke.png" 475 | }, 476 | { 477 | "number": 80, 478 | "name": "Slowbro", 479 | "types": ["Water", "Psychic"], 480 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Slowbro.png" 481 | }, 482 | { 483 | "number": 81, 484 | "name": "Magnemite", 485 | "types": ["Electric"], 486 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Magnemite.png" 487 | }, 488 | { 489 | "number": 82, 490 | "name": "Magneton", 491 | "types": ["Electric"], 492 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Magneton.png" 493 | }, 494 | { 495 | "number": 83, 496 | "name": "Farfetch'd", 497 | "types": ["Normal", "Flying"], 498 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Farfetchd.png" 499 | }, 500 | { 501 | "number": 84, 502 | "name": "Doduo", 503 | "types": ["Normal", "Flying"], 504 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Doduo.png" 505 | }, 506 | { 507 | "number": 85, 508 | "name": "Dodrio", 509 | "types": ["Normal", "Flying"], 510 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dodrio.png" 511 | }, 512 | { 513 | "number": 86, 514 | "name": "Seel", 515 | "types": ["Water"], 516 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Seel.png" 517 | }, 518 | { 519 | "number": 87, 520 | "name": "Dewgong", 521 | "types": ["Water", "Ice"], 522 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dewgong.png" 523 | }, 524 | { 525 | "number": 88, 526 | "name": "Grimer", 527 | "types": ["Poison"], 528 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Grimer.png" 529 | }, 530 | { 531 | "number": 89, 532 | "name": "Muk", 533 | "types": ["Poison"], 534 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Muk.png" 535 | }, 536 | { 537 | "number": 90, 538 | "name": "Shellder", 539 | "types": ["Water"], 540 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Shellder.png" 541 | }, 542 | { 543 | "number": 91, 544 | "name": "Cloyster", 545 | "types": ["Water", "Ice"], 546 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Cloyster.png" 547 | }, 548 | { 549 | "number": 92, 550 | "name": "Gastly", 551 | "types": ["Ghost", "Poison"], 552 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Gastly.png" 553 | }, 554 | { 555 | "number": 93, 556 | "name": "Haunter", 557 | "types": ["Ghost", "Poison"], 558 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Haunter.png" 559 | }, 560 | { 561 | "number": 94, 562 | "name": "Gengar", 563 | "types": ["Ghost", "Poison"], 564 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Gengar.png" 565 | }, 566 | { 567 | "number": 95, 568 | "name": "Onix", 569 | "types": ["Rock"], 570 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Onix.png" 571 | }, 572 | { 573 | "number": 96, 574 | "name": "Drowzee", 575 | "types": ["Psychic"], 576 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Drowzee.png" 577 | }, 578 | { 579 | "number": 97, 580 | "name": "Hypno", 581 | "types": ["Psychic"], 582 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Hypno.png" 583 | }, 584 | { 585 | "number": 98, 586 | "name": "Krabby", 587 | "types": ["Water"], 588 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Krabby.png" 589 | }, 590 | { 591 | "number": 99, 592 | "name": "Kingler", 593 | "types": ["Water"], 594 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kingler.png" 595 | }, 596 | { 597 | "number": 100, 598 | "name": "Voltorb", 599 | "types": ["Electric"], 600 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Voltorb.png" 601 | }, 602 | { 603 | "number": 101, 604 | "name": "Electrode", 605 | "types": ["Electric"], 606 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Electrode.png" 607 | }, 608 | { 609 | "number": 102, 610 | "name": "Exeggcute", 611 | "types": ["Grass", "Psychic"], 612 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Exeggcute.png" 613 | }, 614 | { 615 | "number": 103, 616 | "name": "Exeggutor", 617 | "types": ["Grass", "Psychic"], 618 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Exeggutor.png" 619 | }, 620 | { 621 | "number": 104, 622 | "name": "Cubone", 623 | "types": ["Ground"], 624 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Cubone.png" 625 | }, 626 | { 627 | "number": 105, 628 | "name": "Marowak", 629 | "types": ["Ground"], 630 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Marowak.png" 631 | }, 632 | { 633 | "number": 106, 634 | "name": "Hitmonlee", 635 | "types": ["Fighting"], 636 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Hitmonlee.png" 637 | }, 638 | { 639 | "number": 107, 640 | "name": "Hitmonchan", 641 | "types": ["Fighting"], 642 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Hitmonchan.png" 643 | }, 644 | { 645 | "number": 108, 646 | "name": "Lickitung", 647 | "types": ["Normal"], 648 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Lickitung.png" 649 | }, 650 | { 651 | "number": 109, 652 | "name": "Koffing", 653 | "types": ["Poison"], 654 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Koffing.png" 655 | }, 656 | { 657 | "number": 110, 658 | "name": "Weezing", 659 | "types": ["Poison"], 660 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Weezing.png" 661 | }, 662 | { 663 | "number": 111, 664 | "name": "Rhyhorn", 665 | "types": ["Ground", "Rock"], 666 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Rhyhorn.png" 667 | }, 668 | { 669 | "number": 112, 670 | "name": "Rhydon", 671 | "types": ["Ground", "Rock"], 672 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Rhydon.png" 673 | }, 674 | { 675 | "number": 113, 676 | "name": "Chansey", 677 | "types": ["Normal"], 678 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Chansey.png" 679 | }, 680 | { 681 | "number": 114, 682 | "name": "Tangela", 683 | "types": ["Grass"], 684 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Tangela.png" 685 | }, 686 | { 687 | "number": 115, 688 | "name": "Kangaskhan", 689 | "types": ["Normal"], 690 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kangaskhan.png" 691 | }, 692 | { 693 | "number": 116, 694 | "name": "Horsea", 695 | "types": ["Water"], 696 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Horsea.png" 697 | }, 698 | { 699 | "number": 117, 700 | "name": "Seadra", 701 | "types": ["Water", "Poison"], 702 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Seadra.png" 703 | }, 704 | { 705 | "number": 118, 706 | "name": "Goldeen", 707 | "types": ["Water"], 708 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Goldeen.png" 709 | }, 710 | { 711 | "number": 119, 712 | "name": "Seaking", 713 | "types": ["Water"], 714 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Seaking.png" 715 | }, 716 | { 717 | "number": 120, 718 | "name": "Staryu", 719 | "types": ["Water"], 720 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Staryu.png" 721 | }, 722 | { 723 | "number": 121, 724 | "name": "Starmie", 725 | "types": ["Water", "Psychic"], 726 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Starmie.png" 727 | }, 728 | { 729 | "number": 122, 730 | "name": "Mr. Mime", 731 | "types": ["Psychic"], 732 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Mr_Mime.png" 733 | }, 734 | { 735 | "number": 123, 736 | "name": "Scyther", 737 | "types": ["Bug", "Flying"], 738 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Scyther.png" 739 | }, 740 | { 741 | "number": 124, 742 | "name": "Jynx", 743 | "types": ["Ice", "Psychic"], 744 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Jynx.png" 745 | }, 746 | { 747 | "number": 125, 748 | "name": "Electabuzz", 749 | "types": ["Electric"], 750 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Electabuzz.png" 751 | }, 752 | { 753 | "number": 126, 754 | "name": "Magmar", 755 | "types": ["Fire"], 756 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Magmar.png" 757 | }, 758 | { 759 | "number": 127, 760 | "name": "Pinsir", 761 | "types": ["Bug"], 762 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Pinsir.png" 763 | }, 764 | { 765 | "number": 128, 766 | "name": "Tauros", 767 | "types": ["Normal"], 768 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Tauros.png" 769 | }, 770 | { 771 | "number": 129, 772 | "name": "Magikarp", 773 | "types": ["Water"], 774 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Magikarp.png" 775 | }, 776 | { 777 | "number": 130, 778 | "name": "Gyarados", 779 | "types": ["Water", "Flying"], 780 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Gyarados.png" 781 | }, 782 | { 783 | "number": 131, 784 | "name": "Lapras", 785 | "types": ["Water", "Ice"], 786 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Lapras.png" 787 | }, 788 | { 789 | "number": 132, 790 | "name": "Ditto", 791 | "types": ["Normal"], 792 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Ditto.png" 793 | }, 794 | { 795 | "number": 133, 796 | "name": "Eevee", 797 | "types": ["Normal"], 798 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Eevee.png" 799 | }, 800 | { 801 | "number": 134, 802 | "name": "Vaporeon", 803 | "types": ["Water"], 804 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Vaporeon.png" 805 | }, 806 | { 807 | "number": 135, 808 | "name": "Jolteon", 809 | "types": ["Electric"], 810 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Jolteon.png" 811 | }, 812 | { 813 | "number": 136, 814 | "name": "Flareon", 815 | "types": ["Fire"], 816 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Flareon.png" 817 | }, 818 | { 819 | "number": 137, 820 | "name": "Porygon", 821 | "types": ["Normal"], 822 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Porygon.png" 823 | }, 824 | { 825 | "number": 138, 826 | "name": "Omanyte", 827 | "types": ["Rock", "Water"], 828 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Omanyte.png" 829 | }, 830 | { 831 | "number": 139, 832 | "name": "Omastar", 833 | "types": ["Rock", "Water"], 834 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Omastar.png" 835 | }, 836 | { 837 | "number": 140, 838 | "name": "Kabuto", 839 | "types": ["Rock", "Water"], 840 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kabuto.png" 841 | }, 842 | { 843 | "number": 141, 844 | "name": "Kabutops", 845 | "types": ["Rock", "Water"], 846 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Kabutops.png" 847 | }, 848 | { 849 | "number": 142, 850 | "name": "Aerodactyl", 851 | "types": ["Rock", "Flying"], 852 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Aerodactyl.png" 853 | }, 854 | { 855 | "number": 143, 856 | "name": "Snorlax", 857 | "types": ["Normal"], 858 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Snorlax.png" 859 | }, 860 | { 861 | "number": 144, 862 | "name": "Articuno", 863 | "types": ["Ice", "Flying"], 864 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Articuno.png" 865 | }, 866 | { 867 | "number": 145, 868 | "name": "Zapdos", 869 | "types": ["Electric", "Flying"], 870 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Zapdos.png" 871 | }, 872 | { 873 | "number": 146, 874 | "name": "Moltres", 875 | "types": ["Fire", "Flying"], 876 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Moltres.png" 877 | }, 878 | { 879 | "number": 147, 880 | "name": "Dratini", 881 | "types": ["Dragon"], 882 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dratini.png" 883 | }, 884 | { 885 | "number": 148, 886 | "name": "Dragonair", 887 | "types": ["Dragon"], 888 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dragonair.png" 889 | }, 890 | { 891 | "number": 149, 892 | "name": "Dragonite", 893 | "types": ["Dragon", "Flying"], 894 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Dragonite.png" 895 | }, 896 | { 897 | "number": 150, 898 | "name": "Mewtwo", 899 | "types": ["Psychic"], 900 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Mewtwo.png" 901 | }, 902 | { 903 | "number": 151, 904 | "name": "Mew", 905 | "types": ["Psychic"], 906 | "imageUrl": "http://nintendo.wikia.com/wiki/File:Mew.png" 907 | } 908 | ] -------------------------------------------------------------------------------- /data/salesContacts.js: -------------------------------------------------------------------------------- 1 | var salesContacts = [ 2 | { 3 | "name": "Imogene F. Richards", 4 | "email": "Etiam.bibendum@vulputate.co.uk", 5 | "phone": 7709388849, 6 | "company": "Ut PC" 7 | }, 8 | { 9 | "name": "Inga S. Horton", 10 | "email": "est.mauris@liberomaurisaliquam.org", 11 | "phone": 7169007230, 12 | "company": "Euismod Mauris Corporation" 13 | }, 14 | { 15 | "name": "Rajah Q. Donaldson", 16 | "email": "luctus.sit@magnatellus.co.uk", 17 | "phone": 4999808301, 18 | "company": "Sed Corporation" 19 | }, 20 | { 21 | "name": "Lilah H. Sears", 22 | "email": "convallis@Mauris.org", 23 | "phone": 8222988521, 24 | "company": "Justo Eu Arcu Company" 25 | }, 26 | { 27 | "name": "Cherokee L. Schroeder", 28 | "email": "augue.ut.lacus@Mauris.net", 29 | "phone": 9624520296, 30 | "company": "Urna Nullam PC" 31 | }, 32 | { 33 | "name": "Berk Z. Lott", 34 | "email": "nibh.Donec@nec.edu", 35 | "phone": 9111983727, 36 | "company": "Nonummy Incorporated" 37 | }, 38 | { 39 | "name": "Donna F. Combs", 40 | "email": "at@fermentumvelmauris.net", 41 | "phone": 6896510725, 42 | "company": "Arcu Imperdiet Ullamcorper Institute" 43 | }, 44 | { 45 | "name": "Shea C. Barlow", 46 | "email": "Ut@magnanecquam.net", 47 | "phone": 5727753085, 48 | "company": "Non Ltd" 49 | }, 50 | { 51 | "name": "Carissa F. Patrick", 52 | "email": "semper.Nam.tempor@magnaUt.edu", 53 | "phone": 2184088334, 54 | "company": "Nascetur Ridiculus Mus LLC" 55 | }, 56 | { 57 | "name": "Patricia Y. Mullen", 58 | "email": "sit.amet@mattisvelit.com", 59 | "phone": 1051583445, 60 | "company": "Vitae Semper Foundation" 61 | }, 62 | { 63 | "name": "Prescott U. Cobb", 64 | "email": "dictum.sapien.Aenean@iaculisquis.ca", 65 | "phone": 9277571648, 66 | "company": "Sed Incorporated" 67 | }, 68 | { 69 | "name": "Hayley P. Lindsay", 70 | "email": "amet.diam.eu@torquentper.net", 71 | "phone": 5508815626, 72 | "company": "Hendrerit Donec Corporation" 73 | }, 74 | { 75 | "name": "Tanek F. Malone", 76 | "email": "sit.amet.nulla@nec.net", 77 | "phone": 3488977671, 78 | "company": "Nam Ligula Industries" 79 | }, 80 | { 81 | "name": "Althea S. Mcneil", 82 | "email": "Duis.dignissim@ipsumdolor.com", 83 | "phone": 5553423150, 84 | "company": "Mauris Suspendisse Institute" 85 | }, 86 | { 87 | "name": "Kiayada W. Hendricks", 88 | "email": "scelerisque.scelerisque.dui@loremluctusut.com", 89 | "phone": 3643806791, 90 | "company": "Purus Nullam Scelerisque Corporation" 91 | }, 92 | { 93 | "name": "Ryan Z. Mcmahon", 94 | "email": "venenatis@ridiculus.org", 95 | "phone": 8096972456, 96 | "company": "Montes Corp." 97 | }, 98 | { 99 | "name": "Olga Z. Phillips", 100 | "email": "dolor@mollisduiin.co.uk", 101 | "phone": 6033864667, 102 | "company": "Etiam Gravida Molestie Foundation" 103 | }, 104 | { 105 | "name": "Carlos O. Robles", 106 | "email": "quis.tristique.ac@velest.edu", 107 | "phone": 7037828547, 108 | "company": "Elit Sed Industries" 109 | }, 110 | { 111 | "name": "Carter B. Lowery", 112 | "email": "ornare.sagittis@natoque.org", 113 | "phone": 8301412590, 114 | "company": "Ipsum Non Institute" 115 | }, 116 | { 117 | "name": "Idola J. Berg", 118 | "email": "iaculis.enim@a.com", 119 | "phone": 4884244735, 120 | "company": "Quisque Imperdiet Consulting" 121 | }, 122 | { 123 | "name": "Carol I. Riddle", 124 | "email": "eget@pulvinararcuet.net", 125 | "phone": 3944633364, 126 | "company": "Maecenas Libero Est Industries" 127 | }, 128 | { 129 | "name": "Galena F. Ellison", 130 | "email": "fringilla@amagnaLorem.net", 131 | "phone": 2595891515, 132 | "company": "Phasellus Incorporated" 133 | }, 134 | { 135 | "name": "Veda F. Simmons", 136 | "email": "Morbi.sit@est.edu", 137 | "phone": 7911494142, 138 | "company": "Vulputate Inc." 139 | }, 140 | { 141 | "name": "Armand Z. Gibson", 142 | "email": "lobortis@liberolacus.ca", 143 | "phone": 7646542390, 144 | "company": "Proin Nisl Sem Associates" 145 | }, 146 | { 147 | "name": "Destiny L. Booker", 148 | "email": "dolor@nonegestasa.org", 149 | "phone": 7814972897, 150 | "company": "Arcu Vivamus Industries" 151 | }, 152 | { 153 | "name": "Jaquelyn E. Farmer", 154 | "email": "ipsum.Suspendisse.non@tempor.net", 155 | "phone": 9946002083, 156 | "company": "Porttitor Scelerisque Neque Consulting" 157 | }, 158 | { 159 | "name": "Chastity B. Crane", 160 | "email": "penatibus@auctorvelit.ca", 161 | "phone": 2356836012, 162 | "company": "Cursus Nunc LLP" 163 | }, 164 | { 165 | "name": "Sean L. Shaw", 166 | "email": "Cum.sociis.natoque@hendreritDonec.com", 167 | "phone": 2854061010, 168 | "company": "Vulputate Corp." 169 | }, 170 | { 171 | "name": "Tyler H. Lara", 172 | "email": "Nunc@nisi.com", 173 | "phone": 8784750334, 174 | "company": "Donec Vitae Associates" 175 | }, 176 | { 177 | "name": "Buckminster J. Blevins", 178 | "email": "arcu@quis.co.uk", 179 | "phone": 9401779033, 180 | "company": "Et Nunc Quisque Foundation" 181 | }, 182 | { 183 | "name": "Jonas R. Walters", 184 | "email": "diam.Sed@etlibero.org", 185 | "phone": 7178837174, 186 | "company": "Ac Turpis Consulting" 187 | }, 188 | { 189 | "name": "Athena G. Cooke", 190 | "email": "adipiscing.lobortis@dolorNulla.net", 191 | "phone": 4265973730, 192 | "company": "Convallis Company" 193 | }, 194 | { 195 | "name": "Darius Z. Sherman", 196 | "email": "ac.arcu@nisi.ca", 197 | "phone": 1748318951, 198 | "company": "Auctor Foundation" 199 | }, 200 | { 201 | "name": "Avram Y. Beck", 202 | "email": "Pellentesque.ultricies@montes.edu", 203 | "phone": 2523718096, 204 | "company": "Suspendisse Tristique Neque Associates" 205 | }, 206 | { 207 | "name": "Gloria H. Gaines", 208 | "email": "fringilla@Phasellus.ca", 209 | "phone": 5884994327, 210 | "company": "Elit PC" 211 | }, 212 | { 213 | "name": "Erasmus F. Jacobson", 214 | "email": "amet.risus.Donec@lectusa.ca", 215 | "phone": 8225108752, 216 | "company": "Non Arcu Consulting" 217 | }, 218 | { 219 | "name": "Elvis H. Zamora", 220 | "email": "amet.lorem.semper@erateget.edu", 221 | "phone": 3283169297, 222 | "company": "Aliquam Corporation" 223 | }, 224 | { 225 | "name": "Cody W. Alston", 226 | "email": "amet.nulla@felis.edu", 227 | "phone": 2808088140, 228 | "company": "Lacinia Sed Congue LLP" 229 | }, 230 | { 231 | "name": "Fleur Z. Rich", 232 | "email": "molestie.Sed.id@at.edu", 233 | "phone": 2075842440, 234 | "company": "Lacus Corp." 235 | }, 236 | { 237 | "name": "Maya Y. Newton", 238 | "email": "ultrices.Duis@a.ca", 239 | "phone": 6897193959, 240 | "company": "Arcu Corporation" 241 | }, 242 | { 243 | "name": "Denise A. Kennedy", 244 | "email": "at.augue.id@Vestibulumaccumsan.net", 245 | "phone": 4685985774, 246 | "company": "Egestas Lacinia Foundation" 247 | }, 248 | { 249 | "name": "Cody P. Garrison", 250 | "email": "interdum.Nunc@vitae.ca", 251 | "phone": 2162834142, 252 | "company": "Nascetur Ridiculus LLP" 253 | }, 254 | { 255 | "name": "Aurelia V. Rollins", 256 | "email": "est.vitae.sodales@commodoat.com", 257 | "phone": 1383230891, 258 | "company": "Sodales LLP" 259 | }, 260 | { 261 | "name": "Kirestin V. Collins", 262 | "email": "Aliquam.vulputate@eratvolutpat.net", 263 | "phone": 5784029100, 264 | "company": "Lobortis Quis Industries" 265 | }, 266 | { 267 | "name": "Bevis P. Cantrell", 268 | "email": "sit.amet.nulla@aliquetPhasellus.ca", 269 | "phone": 8172675596, 270 | "company": "Etiam Gravida Molestie LLP" 271 | }, 272 | { 273 | "name": "Odysseus W. Ramirez", 274 | "email": "malesuada.augue@eueleifend.com", 275 | "phone": 8322541445, 276 | "company": "Rhoncus Proin Nisl Company" 277 | }, 278 | { 279 | "name": "Vance A. Newton", 280 | "email": "a@massa.org", 281 | "phone": 2091100576, 282 | "company": "Ultrices A Auctor LLC" 283 | }, 284 | { 285 | "name": "Rashad M. Downs", 286 | "email": "lorem.ut@Lorem.org", 287 | "phone": 6091832883, 288 | "company": "Donec Egestas Duis Ltd" 289 | }, 290 | { 291 | "name": "MacKenzie U. Ballard", 292 | "email": "Fusce@elementum.co.uk", 293 | "phone": 3924284120, 294 | "company": "Sem Consequat Nec Limited" 295 | }, 296 | { 297 | "name": "Nora F. Nieves", 298 | "email": "in.dolor.Fusce@nonsollicitudin.co.uk", 299 | "phone": 8246373409, 300 | "company": "Mauris Ltd" 301 | }, 302 | { 303 | "name": "Leroy V. York", 304 | "email": "posuere.enim.nisl@ascelerisquesed.net", 305 | "phone": 6636520393, 306 | "company": "Posuere Vulputate Corporation" 307 | }, 308 | { 309 | "name": "Callum Y. Gregory", 310 | "email": "rutrum.lorem@tristiquealiquet.ca", 311 | "phone": 5536784001, 312 | "company": "Ipsum Primis LLP" 313 | }, 314 | { 315 | "name": "Cassandra G. Stanley", 316 | "email": "ipsum.Donec.sollicitudin@et.org", 317 | "phone": 1241032734, 318 | "company": "Ac Arcu LLP" 319 | }, 320 | { 321 | "name": "Gwendolyn Z. Odom", 322 | "email": "ipsum.ac@purusDuis.com", 323 | "phone": 2534920411, 324 | "company": "Consectetuer Cursus PC" 325 | }, 326 | { 327 | "name": "Deanna R. Massey", 328 | "email": "nonummy@libero.edu", 329 | "phone": 9107542017, 330 | "company": "Faucibus Lectus A LLP" 331 | }, 332 | { 333 | "name": "Fatima N. Walsh", 334 | "email": "et@Nullam.net", 335 | "phone": 4537669263, 336 | "company": "Porttitor Interdum Sed Corp." 337 | }, 338 | { 339 | "name": "Brendan O. Moss", 340 | "email": "eu@nulla.net", 341 | "phone": 7978160286, 342 | "company": "Nonummy Ultricies Ornare Corp." 343 | }, 344 | { 345 | "name": "Lyle Y. Fowler", 346 | "email": "tellus.Nunc.lectus@cursusvestibulumMauris.ca", 347 | "phone": 3374462981, 348 | "company": "Ante Nunc Mauris Corp." 349 | }, 350 | { 351 | "name": "Hollee W. Knapp", 352 | "email": "Curabitur@magna.co.uk", 353 | "phone": 9379432845, 354 | "company": "Luctus Associates" 355 | }, 356 | { 357 | "name": "Illiana I. Bright", 358 | "email": "urna@aodiosemper.com", 359 | "phone": 4526048181, 360 | "company": "Facilisis Incorporated" 361 | }, 362 | { 363 | "name": "Yoko H. Soto", 364 | "email": "enim.Mauris@facilisismagna.org", 365 | "phone": 4464324992, 366 | "company": "Ac Mattis LLC" 367 | }, 368 | { 369 | "name": "Leonard D. Orr", 370 | "email": "turpis.vitae@ac.edu", 371 | "phone": 8245940547, 372 | "company": "Aliquet Phasellus Fermentum PC" 373 | }, 374 | { 375 | "name": "Danielle D. Keith", 376 | "email": "ornare.libero.at@dolorelitpellentesque.org", 377 | "phone": 8818382500, 378 | "company": "Fermentum Limited" 379 | }, 380 | { 381 | "name": "Pandora R. Knowles", 382 | "email": "Nullam@Donecporttitortellus.org", 383 | "phone": 4668292087, 384 | "company": "Consequat Enim Inc." 385 | }, 386 | { 387 | "name": "Wallace M. Franklin", 388 | "email": "lorem@nisl.net", 389 | "phone": 4337132660, 390 | "company": "At Auctor Foundation" 391 | }, 392 | { 393 | "name": "Lacy I. Best", 394 | "email": "facilisis.facilisis@ipsumnunc.ca", 395 | "phone": 5447219420, 396 | "company": "Et Netus Et Inc." 397 | }, 398 | { 399 | "name": "Yoshio K. Wood", 400 | "email": "posuere.vulputate@dolorFusce.com", 401 | "phone": 9791237173, 402 | "company": "Justo Nec Ante Associates" 403 | }, 404 | { 405 | "name": "Darius L. Cross", 406 | "email": "sem.Nulla.interdum@rutrummagna.co.uk", 407 | "phone": 3153492227, 408 | "company": "Ac LLC" 409 | }, 410 | { 411 | "name": "Wylie Z. Benton", 412 | "email": "Duis@acmattis.ca", 413 | "phone": 2551266562, 414 | "company": "Magna Consulting" 415 | }, 416 | { 417 | "name": "Cheryl Z. Bullock", 418 | "email": "Cras.dictum@egestas.net", 419 | "phone": 5913230850, 420 | "company": "Arcu Aliquam Ultrices Incorporated" 421 | }, 422 | { 423 | "name": "Octavius L. Jacobs", 424 | "email": "Morbi@eueros.org", 425 | "phone": 5542004950, 426 | "company": "Interdum Libero Dui Inc." 427 | }, 428 | { 429 | "name": "Vernon V. Buckner", 430 | "email": "ridiculus.mus@Curabituregestas.co.uk", 431 | "phone": 9901985349, 432 | "company": "Ut Eros Non Corporation" 433 | }, 434 | { 435 | "name": "Erica E. Calderon", 436 | "email": "iaculis@NuncmaurisMorbi.com", 437 | "phone": 4044816424, 438 | "company": "Elit Nulla PC" 439 | }, 440 | { 441 | "name": "Ivana X. Cooke", 442 | "email": "a@semNullainterdum.net", 443 | "phone": 5237002496, 444 | "company": "Aliquet Associates" 445 | }, 446 | { 447 | "name": "Leonard U. Booker", 448 | "email": "lobortis.nisi@nonnisiAenean.net", 449 | "phone": 3665226610, 450 | "company": "Facilisis Non Bibendum LLP" 451 | }, 452 | { 453 | "name": "Alexander N. Hopper", 454 | "email": "eu.lacus@vitae.net", 455 | "phone": 8353298734, 456 | "company": "Orci Inc." 457 | }, 458 | { 459 | "name": "Deborah E. Cash", 460 | "email": "Cum.sociis.natoque@nunc.com", 461 | "phone": 7487130257, 462 | "company": "Risus Inc." 463 | }, 464 | { 465 | "name": "Reese G. Cruz", 466 | "email": "Cras@augueid.org", 467 | "phone": 4658666930, 468 | "company": "Justo Nec Ante Limited" 469 | }, 470 | { 471 | "name": "Nasim E. Clayton", 472 | "email": "Proin@egetmetuseu.co.uk", 473 | "phone": 3486899672, 474 | "company": "Duis Ac Incorporated" 475 | }, 476 | { 477 | "name": "Burke M. Petersen", 478 | "email": "Fusce.mi.lorem@venenatis.edu", 479 | "phone": 7331520692, 480 | "company": "Sed Institute" 481 | }, 482 | { 483 | "name": "Bree Y. Russo", 484 | "email": "Proin@risusDonec.net", 485 | "phone": 9653091811, 486 | "company": "Sit Incorporated" 487 | }, 488 | { 489 | "name": "Kevyn W. Booker", 490 | "email": "sollicitudin@pharetraQuisqueac.edu", 491 | "phone": 5399497919, 492 | "company": "Tellus Industries" 493 | }, 494 | { 495 | "name": "Amena D. Zamora", 496 | "email": "metus.In.nec@liberomaurisaliquam.co.uk", 497 | "phone": 6647359700, 498 | "company": "Mauris Incorporated" 499 | }, 500 | { 501 | "name": "Chloe B. Flores", 502 | "email": "Nunc.mauris.sapien@Phasellus.co.uk", 503 | "phone": 9099488933, 504 | "company": "Magna Associates" 505 | }, 506 | { 507 | "name": "Marny D. Baird", 508 | "email": "odio.vel.est@dignissimpharetra.edu", 509 | "phone": 1891043732, 510 | "company": "Lacus Quisque Imperdiet Associates" 511 | }, 512 | { 513 | "name": "Avye Z. Hicks", 514 | "email": "vel@loremvitaeodio.ca", 515 | "phone": 8332520007, 516 | "company": "Luctus Ut LLC" 517 | }, 518 | { 519 | "name": "Sharon H. Fuller", 520 | "email": "vitae.mauris.sit@faucibus.com", 521 | "phone": 4643330523, 522 | "company": "Donec Associates" 523 | }, 524 | { 525 | "name": "Hoyt S. Graham", 526 | "email": "auctor.nunc@ipsumleoelementum.net", 527 | "phone": 8241720140, 528 | "company": "Pede Ultrices Corporation" 529 | }, 530 | { 531 | "name": "Nathan P. Stanton", 532 | "email": "at@pulvinararcuet.com", 533 | "phone": 7735786436, 534 | "company": "Condimentum Incorporated" 535 | }, 536 | { 537 | "name": "Burke P. Prince", 538 | "email": "sapien.Cras@dignissim.ca", 539 | "phone": 1165420150, 540 | "company": "Sagittis Placerat Cras PC" 541 | }, 542 | { 543 | "name": "Hyacinth S. Holland", 544 | "email": "sem@aliquet.net", 545 | "phone": 5933948668, 546 | "company": "Metus Vivamus Consulting" 547 | }, 548 | { 549 | "name": "Kirsten C. Guthrie", 550 | "email": "metus@augue.co.uk", 551 | "phone": 1379560624, 552 | "company": "Eros Nam Company" 553 | }, 554 | { 555 | "name": "Francis Y. Collins", 556 | "email": "Ut.semper@lacus.org", 557 | "phone": 3617684641, 558 | "company": "Proin Dolor Nulla Corp." 559 | }, 560 | { 561 | "name": "Dean O. Newman", 562 | "email": "et@rutrumlorem.org", 563 | "phone": 7582858994, 564 | "company": "Dis Institute" 565 | }, 566 | { 567 | "name": "Madeline H. Martin", 568 | "email": "nec.urna@quislectusNullam.com", 569 | "phone": 2582699627, 570 | "company": "Libero Corporation" 571 | }, 572 | { 573 | "name": "Pearl G. Terrell", 574 | "email": "interdum.Sed@magnaet.edu", 575 | "phone": 2452984389, 576 | "company": "Tincidunt Institute" 577 | }, 578 | { 579 | "name": "Noel D. Rollins", 580 | "email": "felis@lectus.org", 581 | "phone": 2648081391, 582 | "company": "Nullam Ltd" 583 | }, 584 | { 585 | "name": "Marvin O. Contreras", 586 | "email": "viverra@ametconsectetuer.com", 587 | "phone": 8347342151, 588 | "company": "Malesuada Associates" 589 | }, 590 | { 591 | "name": "Miranda F. Fuller", 592 | "email": "Proin@a.co.uk", 593 | "phone": 2233097783, 594 | "company": "Ultrices LLC" 595 | }, 596 | { 597 | "name": "Lester X. Foley", 598 | "email": "nec@Aliquam.com", 599 | "phone": 8105464391, 600 | "company": "Eros Non Institute" 601 | } 602 | ] -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api-hackathon", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "server/server.js", 6 | "scripts": { 7 | "start": "node server/server.js", 8 | "dev": "nodemon server/server.js" 9 | }, 10 | "author": "Zachary Lester", 11 | "license": "ISC", 12 | "dependencies": { 13 | "body-parser": "^1.14.2", 14 | "express": "^4.13.4", 15 | "kerberos": "0.0.18", 16 | "mongoose": "^4.4.2", 17 | "morgan": "^1.8.2" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /server/controllers/characterController.js: -------------------------------------------------------------------------------- 1 | var Character = require('../models/Character.js'); 2 | 3 | // TODO: Create the controller methods necessary to perform all needed CRUD actions 4 | 5 | exports.createOne = function(req, res) {}; 6 | 7 | exports.retrieve = function(req, res) {}; 8 | 9 | exports.retrieveOne = function(req, res) {}; 10 | 11 | exports.updateOne = function(req, res) {}; 12 | 13 | exports.deleteOne = function(req, res) {}; 14 | -------------------------------------------------------------------------------- /server/middleware/index.js: -------------------------------------------------------------------------------- 1 | var bodyParser = require('body-parser'); 2 | var morgan = require('morgan'); 3 | 4 | // Our custom viewCounter middleware 5 | var viewCounter = function () { 6 | var views = 0; 7 | return function (req, res, next) { 8 | // Attach the incremented view count to the request object... 9 | req.views = ++views; 10 | // ...and pass the request onto the next middleware. 11 | next(); 12 | }; 13 | }; 14 | 15 | module.exports = function (app) { 16 | // TODO: Mount our custom viewCounter middleware 17 | app.use(bodyParser.json()); 18 | app.use(bodyParser.urlencoded({ extended: true })); 19 | app.use(morgan('dev')); 20 | }; 21 | -------------------------------------------------------------------------------- /server/models/Character.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | 3 | // TODO: Flesh out our Character schema and register the model with Mongoose 4 | 5 | var characterSchema; 6 | 7 | var Character; 8 | 9 | module.exports = Character; 10 | -------------------------------------------------------------------------------- /server/routers/characterRouter.js: -------------------------------------------------------------------------------- 1 | var characterRouter = require('express').Router(); 2 | var characterController = require('../controllers/characterController.js'); 3 | 4 | // TODO: Declare routes for our resource endpoints and specify what controller method we're going to use for each 5 | 6 | module.exports = characterRouter; 7 | -------------------------------------------------------------------------------- /server/server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var mongoose = require('mongoose'); 3 | var app = express(); 4 | var port = 3000; 5 | 6 | // Inject middleware 7 | require('./middleware')(app); 8 | 9 | // Connect mongoose to our local database 10 | var dbUri = 'mongodb://localhost/apihackathon'; 11 | mongoose.connect(dbUri); 12 | 13 | var characterRouter = require('./routers/characterRouter'); 14 | 15 | app.get('/', function (req, res) { 16 | res.json({ 17 | message: 'Welcome to the JS RESTful API Hackathon!', 18 | // TODO: Mount our custom viewCounter in ./middleware so req.views isn't undefined 19 | views: req.views 20 | }); 21 | }); 22 | 23 | // TODO: Use the characterRouter as middleware on the '/api/characters' route 24 | 25 | app.listen(port, function () { 26 | console.log('JS API Hackathon listening on ' + port); 27 | }); 28 | 29 | module.exports = app; 30 | --------------------------------------------------------------------------------