Skip to content
This repository has been archived by the owner. It is now read-only.
JobTech MyData - monorepo för kod samt huvudplats för dokumentation och status kring projektet.
JavaScript Ruby Shell Objective-C Python Java Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github feat: pr template (#139) Jul 30, 2019
app
client
e2e chore: Update dependencies (#144) Aug 7, 2019
examples Update dependencies (#147) Aug 15, 2019
infrastructure chore: 🤖 init container that runs postgres migrations (#120) Jul 15, 2019
messaging Update dependencies (#147) Aug 15, 2019
operator
.deliver-ci.bash
.deliver-test.bash chore: devops improvements (#98) May 13, 2019
.dockerignore
.gitignore
.nvmrc
.travis.yml
LICENSE
README.md Project has moved. This repo is not longer used Oct 3, 2019
_config.yml
docker-compose.dev.yml
docker-compose.yml Updated elastic stack Apr 11, 2019
lerna.json
package-lock.json
package.json
version.js remove spaces and add ending newline Apr 24, 2019

README.md

This project has moved to https://github.com/egendata/

Egendata

Build Status Test Coverage Maintainability

Bakgrund

MyData är en rörelse som syftar till att individer själva ska ha kontroll på data om sig själv. Egendata är en implementation av MyData-principer. Målet är att se vad detta skapar för potentiella möjligheter, med avstamp i den svenska arbetsmarknaden. Därför har vi påbörjat ett experimenterande innovationsteam som vill testa hypotesen att det går att skapa en distribuerad och decentraliserad datalagring för information om individens CV-data och göra den tillgänglig för de aktörer som har intresse att läsa eller skriva i datat men med utgångspunkt att individen alltid har kontroll på informationen.

Syfte och mål

Värna individens rätt till sin data (MyData movement)

Massiva datamängder som samlas i enskilda företag eller myndigheter skapar möjligheter att dessa kan se mönster i människors beteenden och skapa nya produkter och tjänster som skapar ett nytt värde. Datat kan även användas för andra syften, t ex för att övervaka eller påverka opinioner i politiska syften. Att kontrollera många individers data kan innebära en riskabelt stor maktkoncentration. För att "vaccinera oss" mot denna typ av masspåverkan vill vi därför nå en lösning där individens rätt till sin egen data är utgångspunkten och rent konkret flyttar tillbaka makten till individerna att enkelt agera mot maktkoncentration och informationsmonopol.

Samhällsbygge och innovationskraft

Vårt andra mål handlar om att möjliggöra innovationskraft för myndigheter. Att bättre kunna samverka att kunna utveckla lika potenta digitala tjänster som privata startups. Privat och offentligt ska kunna samverka både i utveckling och med gemensam digital infrastruktur/standarder för ökad samhällsnytta. Genom att möjliggöra en “digital byråkrati”, dvs spårbarhet och standardiserad kommunikation kan nya mer transparenta och effektiva former av styrning etableras. På vägen handlar detta om konkurrenskraft för Sverige och EU, men i grunden handlar det framför allt om ökad samhällsnytta för hela mänskligheten. Världen är idag global och strömmar från alla världens hörn. Open Source är en global rörelse och har kraften att förbättra både för små och stora länder och organisationer.

Främja arbetsmarknaden.

Förenkla och höja effektiviteten i karriärarbetet genom att katalysera ekosystemet kring jobtech. Nya och förbättrade tjänster för arbetssökande och arbetsgivare. Fri och effektiv rörlighet över landsgränser, minska kostnaden för arbetsgivare och enklare användarupplevelse för användaren.

Metod

Ett innovationsteam är framtaget som består av kompetens både inom programmering, UX, infrastruktur, kryptering/säkerhet och expertis från myndigheten. Innovationsteamet jobbar iterativt och skall uppnå högre och högre ställda mål/milstolpar. Första etappen är t ex att få alla systemkomponenter på plats men med väldigt begränsad funktionalitet. Därefter ökas komplexiteten och till slut finns det ett embryo till produkt som kan utvärderas.

Transparens och samarbete

Vi har som mål att vara 100% transparenta och lägger ut all kod och dokumentation här på Github. Meningen är att konsolidera kunskap och öka samarbetet med andra initiativ som samtidigt jobbar med samma tanke. Vi är väldigt glada för att få kontakt med dig och stöttar gärna med de lärdomar vi har och lär oss gärna av dina. Projektets Kanban-tavla där utvecklarna koordinerar arbetet kan ses här https://trello.com/b/uGsJAcH1/mydata-mvp

Koden

Genom att visualisera och praktiskt visa upp hur ägande av sin egen data skulle kunna fungera så blir det enklare för flera att ta ställning till konceptet. Vår strävan att återanvända så mycket som möjligt för att inte återuppfinna hjulet. Projektet är influerat av mydata.org

Projektet är indelat i flera delsystem:

  • Egendata-app : är en app för telefonen där individen hanterar delningen av sin data
  • Egendata-operator : är en teknisk knytpunkt som givet ett godkännande från individen hanterar kommunikationen mellan individen, hens data och tjänsterna som vill använda datan
  • Egendata-client : är ett npm-paket som används av tjänster för att kommunicera med operator. Det gör signering, kryptering, validering och skickande av meddelanden och data.
  • Egendata-cv är en exempeltjänst som läser/skriver till individens Egendata-utrymme (efter att ha fått behörighet att göra det). Denna representerar en vanlig tjänst som hanterar persondata.
  • Egendata-national-registration är en exempeltjänst som enbart skriver till individens Egendata-utrymme (efter att ha fått behörighet att göra det). Denna representerar en tjänst som intygar något om användaren, i detta fall att användaren är en specifik (fiktiv) person.
  • messaging : är ett npm-paket för internt bruk med funktioner som är delade mellan client, operator, app och e2e. Det innehåller till exempel funktioner för att validera formatet på meddelanden och för att hantera kryptografiska tokens.
  • e2e : innehåller end-to-end- samt integrationstester för projektet.

Data lagras krypterat i en s.k. PDS (Personal Data Storage). Just nu stöds lagring av data i användarens dropbox och (för enkel testning) i minnet hos operatorn.

Install and develop (english)

  1. Clone this repo
  2. npm ci
  3. docker-compose up will start all databases and other services needed by all the sub-projects
  4. Look in each subfolder for instructions on how to start the sub-projects

Before pushing/PR: Do npm test (this will lint, run unit tests and run e2e/integration tests)

You can’t perform that action at this time.