Code Monkey home page Code Monkey logo

finn-person's Introduction

Finn Person

Bakgrunn

Denne appen bygger på konseptet bak folkeregister-person, og skal fungere som en øvelse og fordypning i håndtering og filtrering av data, det å jobbe med eksterne pakker, og testing.

I filen src/data/data.ts er det ~400 personer fra folkeregisteret i følgende format:

type Person = {
	firstName: string
	lastName: string
	ssn: string
	status?: 'midlertidig' | 'doed' | 'utflyttet'
	gender?: 'mann' | 'kvinne'
}

Oppgaven består av å lage en app som presenterer oss med en tilfeldig person fra listen, med mulighet for enkel kopiering av fødselsnummeret, samt filtere for kjønn og status.

Lokal utvikling

Prosjektet er satt opp som en enkel React + TypeScript app med vite. Tailwind og Jøkul-core er allerede satt opp, men du må selv installere og sette opp alle de resterende pakkene du kommer til å trenge for å få prosjektet i mål.

Prosjektet kan enkelt settes opp til å bli deployet til github-pages, slik at andre kan ta i bruk prosjektet når du er ferdig med det. Den enklere utgaven jeg lagde har gjort det å jobbe med navnelister mye enklere, så jeg har stor tro på at appen du lager her, med muligheter for flere filtere og en penere jøkul-drakt vil være en stor suksess blant teamene våre.

npm i               # Installere pakker

npm run dev         # Starte appen lokalt

npm run test:watch  # Kjør test-suitten lokalt

npm run test        # Kjør alle tester, og sjekk alle typescript-typer.

Krav

Designet er ikke det viktigste i denne appen, og er noe vi kan se på sammen. Fokuser på å bruke jøkul-komponenter der det gir mening, for å slippe å stresse med å lage alt fra scratch, og ta inspirasjon av våre egne apper når det kommer til layout.

Landingsside / Tilfeldig person

  • Landingsside som viser frem en tilfeldig person fra listen
  • En knapp for å kopiere fødselsnummeret, og en for å få en ny person
  • Jøkul-select for valg av status, med valgene: Alle | Midlertidig | Død | Utflyttet, der Alle er default
  • Jøkul-select for valg av kjønn med valgene: Alle | Kvinne | Mann, der Alle er default
  • Ved endring av filterene filtreres må neste trykk på valget om ny person gi et relevant treff
  • Ved å taste Enter hvor som helst på landingssiden kopieres fødselsnummeret
  • Ved å taste Space hvor som helst på landingssiden får vi en ny person

Listevisning

  • En liste av alle tilgjengelige personer i en wrappende flex-container/grid
  • Samme filtere som i landingssiden, som oppdaterer listen fortløpende når endringer gjøres

Tester

Vi tar en gjennomgang av hvordan teste en app godt sammen, men det er greit å ha i bakhodet hva som bør testes underveis. Ting som at filterne returner en person som matcher det vi spør etter er gode ting å teste.

Relevante ressurser

finn-person's People

Contributors

maciejost avatar carolinewtuftin avatar

Watchers

 avatar

Forkers

carolinewtuftin

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.