Skip to content

Files

Latest commit

eb6ff97 · Feb 5, 2018

History

History
201 lines (158 loc) · 5.77 KB

README.md

File metadata and controls

201 lines (158 loc) · 5.77 KB

Endamál

At gera ein Node API servara, ið veitir yvirlit yvir kommunur, vegir, bygdir og bústadir í Føroyum í JSON

Innihaldsyvirlit

  1. Uppsetan
  2. Endaknútar
  1. Veikleikar og betringar

Uppsetan

  • Hav ein MySQL-servara tilreiðar.

  • Byrja við at skriva npm install fyri at installera allar dependencies.

  • Umdoyp síðani config.js.example til config.js

  • Rætta linjurnar í config.js.

  • Skriva npm run migrate fyri at stovna databasa og neyðugar tabellur. Databasin fær navnið addresses.

  • Skriva npm run seed fyri at stovna postnummur, kommunur, vegir og bústaðir í nýstovnaða databasanum.

  • Skriva node server fyri at tendra servaran.

  • Nú er klárt at vitja http://localhost:3000/kommunur. Aðrir endaknútar síggjast niðanfyri.

Endaknútar (endpoints)

Umsiting

Endaknútar viðvíkjandi umsiting av bústøðum

Lýsing Háttur Endaknútur
Umsiting av síðuni GET /admin
Uploading av fílum POST /upload

Kommunur

Endaknútar viðvíkjandi kommunum

Lýsing Háttur Endaknútur
Allar kommunur GET /kommunur
Ávís kommuna GET /kommuna/id
Ávís kommuna við bygdum GET /kommuna/id/bygdir
Ávís kommuna við vegnum GET /kommuna/id/vegir
Ávís kommuna við bústøðum GET /kommuna/id/bustadir

Dømi: http://localhost:3000/kommuna/5. Úrslit:

[
  {
    id: 5,
    municipality_id: 6,
    name: "Kunoyar"
  }
]

Postnummur

Endaknútar viðvíkjandi postnummurum

Lýsing Háttur Endaknútur
Øll postnummur GET /postnummur
Øll postnummur við kommunum GET /postnummur/kommunur
Ávíst postnummar GET /postnummar/id
Ávíst postnummar við kommunu GET /postnummar/id/kommuna
Ávíst postnummar við vegum GET /postnummar/id/vegir
Ávíst postnummar við bústøðum GET /postnummar/id/bustadir

Dømi: http://localhost:3000/postnummar/796/vegir. Úrslit:

[
  {
    id: 1769,
    road_id: 3294,
    municipality_id: 5,
    zip_code_id: 796,
    name: "Bakkavegur",
    x: 215725.2,
    y: 906581.6
  },
  {
    id: 1770,
    road_id: 3295,
    municipality_id: 5,
    zip_code_id: 796,
    name: "Kalsoyarvegur",
    x: 215768.52,
    y: 906516.96
  },
  {
    id: 1773,
    road_id: 3298,
    municipality_id: 5,
    zip_code_id: 796,
    name: "Heimigarður",
    x: 215800.59,
    y: 906384.63
  },
  {
    id: 1774,
    road_id: 3299,
    municipality_id: 5,
    zip_code_id: 796,
    name: "Norðurgarður",
    x: 215701.63,
    y: 906612.72
  }
]

Bygdir

Endaknútar viðvíkjandi bygdum

Lýsing Háttur Endaknútur
Allar bygdir GET /bygdir
Allar bygdir við kommunum GET /bygdir/kommunur
Ávís bygd GET /bygd/id
Ávís bygd við vegum GET /bygd/id/vegir
Ávís bygd við bústøðum GET /bygd/id/bustadir

Dømi: http://localhost:3000/bygd/96. Úrslit:

[
  {
    id: 96,
    zip_code: 767,
    municipality_id: 1,
    name: "Hattarvík"
  }
]

Vegir

Endaknútar viðvíkjandi vegum

Lýsing Háttur Endaknútur
Allir vegir GET /vegir
Ávísur vegur GET /vegur/id
Ávísur vegur við bústøðum GET /vegur/id/bustadir

Dømi: http://localhost:3000/vegur/2. Úrslit:

[
  {
    id: 2,
    road_id: 689,
    municipality_id: 5,
    zip_code_id: 700,
    name: "Geilin",
    x: 222087.04,
    y: 902257.28
  }
]

Veikleikar og betringar

Hesir veikleikarnir eru staðfestir og hesar betringarnar kunnu gerast

  • Betra um umsitingarliga partin við til dømis login. Øll hava rættindi at uploada fílar.

  • Innihaldið á fílunum verður ikki kannað. Kann geva feilir, um innihaldið broytist.

  • Ein ávísur fílur hoyrir til ávíst input-felt. Skipanin krasjar, um skeivur fílur verður uploadaður í skeivum felti. Betri eftirlit.

  • Óhóskandi navngeving av kolonnum. Sambandið millum kolonnurnar skal vera greiðari. Ivamál er, um føroysk heiti skulu nýtast ella ei.

  • Fleiri kolonnur kunnu vera við. Allar kolonnurnar eru ikki við, sum til dømis navn á bygdum í hvørjumfalli.

  • Leggja routes afturat, sum møguliga mangla. til dømis /vegur/id/kommuna ella vegur/id/bygd fyri at fáa kommununa og bygdina, ið vegurin hoyrir til.

  • Hóskandi feilboð, tá feilir henda. Sum til dømis, tá onki samband fæst við databasan.

  • Avmarka SELECT-setningar.

  • Cacha úrslit, tá fílar verða innlisnir - ella tá lisið verður úr databasa.

  • Brongla samskiftið við TLS.

  • Betri readme. Yvirlitið yvir endaknútarnar er ikki nóg greitt. [22-02-2017]

  • Gera npm script til seeding. [23-02-2017]

  • Gera npm script til migrering. [23-02-2017]

  • Flyta uppsetan í ein config-fíl. [23-02-2017]

  • Flyta funktionalitet í modulir. Server.js kann lættliga gerast ógreitt og torført at viðlíkahalda. [23-02-2017]

  • Flyta routes í modulir. Routes verður lættari at umsita, um hesar verða løgd í modulir. [23-02-2017]

  • Gera hagtøl, tá fyrispurningar verða sendir skipanini. [23-02-2017]

  • UTF8-trupulleikar. Eri ikki vísur í, hvar trupulleikin liggur. Mítt besta boð er lesingin av fílunum. [23-02-2017]

Óivað er annað, ið eisini kann gerast betur.