saab2017 / 3pp-tool Goto Github PK
View Code? Open in Web Editor NEWMAMF40 – Projekt årskurs 3
MAMF40 – Projekt årskurs 3
(Se lista, lägga till)
Lägg in länk till dokumentationen för Bulma i doc.
Currently we take a text string from the URL and split it in order to get the parameters for the database.
In order to simplify the code we need to switch to using JSON objects instead of querystrings.
(Redigera, se listor på använda licenser, komponenter, produkter)
Det finns inget sätt att få ut all komponenter i från en produkt.
Gör denna parallellt med #116
Currently a querystring is being used to fetch data from the database, we want to change this to a JSON object instead.
Filen src/views/Overview.vue innehåller en tabell vars bredd inte tar upp 100 % av förälderns bredd. Detta medför att tabellens body-container utnyttjas inte till fullo.
För att lösa problemet bör man kanske ta bort "is-3" i CSS-klassdeklareringen?
Flytta tilläggningen av en licens till /licenses/add
Sidorna för de specifika delarna är inte responsiva. Håller på att jobba på detta för att få en bättre design på mindre skärmar.
(Redigera, se listor på använda licenser, produkter som använder komponent, projekt som använder komponent)
När två användare ska signera ett och samma objekt och går in på sidan för signering, kommer enkeltrådighet i backend medföra att första användarens signering läggs in varpå den andra användarens signering skriver över den första användarens signering.
Detta är nåt som strider mot kraven då det ska vara möjlighet med fler än en användare - samt att signering inte får överskrivas.
En kontroll behövs som säkerställer att den signerande komponenten inte redan är signerad - och att ett specifikt fel returneras som kan plockas upp av frontend som kommunicerar felmeddelandet till användare två, typ "Komponenten du försöker signera har precis blivit signerad av en annan användare" eller "Komponenten du försöker signera har precis blivit signerad en 'xxxx'" den "dd-mm-yy" kl "hh:mm:ss" - beroende på vad vi väljer att returnera för felinformation.
Ett exempel på hur ett JSON-respons kan se ut för ett fel som kan vara användbart av front-end:
{
"errorType": "alreadySigned",
"byUser": "xxxx",
"onTime": "1510062744"
}
Kolumnnamn matchar inte backend-API anropen till SQL-databasen.
CREATE TABLE "components" (componentName TEXT, componentVersion TEXT, license TEXT UNIQUE, licenseVersion TEXT UNIQUE,
dateCreated DATE, lastEdited DATETIME, comment TEXT, approved boolean, approvedBy TEXT,
PRIMARY KEY (component, componentVersion),
FOREIGN KEY (license, licenseVersion) REFERENCES licenses(license, licenseVersion) ON DELETE CASCADE
);
Som man kan se här, är kolumnerna döpta till componentName, t.ex., medan i backend-API gör SQL anrop så här:
.post((req, res) => {
var component = req.body.component
var version = req.body.version
query = "INSERT INTO components (component, version) VALUES (?, ?)"
parameters = [component, version]
Detta gäller även kolumner/fält som innehåller "version", dvs, anropen i backend-APIn är gjorda med "version" som kolumnfält, medan i db-setup.sql så körs "productVersion" istället.
Issue #46 kräver komponenten.
Issue #46 kräver komponenten.
När en ny licens läggs till i en komponent så bör komponentens approve/approveBy bli 0/tomt vilket inte sker i nuläget och därefter kräva en ny signering.
För att merga #45 med develop krävs komponenterna som saknas för att kunna köra front-end efter slutförd implementering, i annat fall uppstår referens-error.
Komponenter som saknas och behöver akut implementeras:
<router-link :to="{ name: 'components_pending'}" class="navbar-item">Approve component</router-link>
<router-link :to="{ name: 'products_pending'}" class="navbar-item">Approve product</router-link>
Menylänkning i navbar är statisk och bör konverteras om till dynamisk länkning.
Navbar.vue
<router-link :to="{ name: 'home'}" class="navbar-item">Home</router-link>
index.js
{
path: '/',
name: 'home',
component: Overview
}
Istället för:
<a href="/" class="navbar-item">Home</a>
(Redigera, se listor på använda licenser, använda komponenter, projekt som använder produkten)
(Se lista, lägga till)
Currently a querystring is being used to fetch data from a URL, switch this to a JSON object instead.
Problem med realtidsuppdatering av hemsidan vid navigering via webbläsaren. Efter att ha gått in på en sida utöver startsidan, reagerar inte realtidsuppdateringen av sidan när man begär åtkomst till en annan sida.
Följande steg för att upprepa bugg:
Det uppstår konflikt vid merge av den binära filen sqlite.db, se konflikt #38. Binära filer ska inte verionshanteras och därav ska den inte vara med på GitHub. Den ska skapas privat och köras lokalt på datorn genom att köra db-setup.sql.
Det finns inget sätt att få ut all licenser i från en komponent.
Kallar på funktionen getComponentLog som inte finns.
Det går inte längre att ändra saker i en component row i data basen (så som comment) tack vare ändringar i databasen.
Det är i princip inte alls kommenterat i .vue-filerna, SAAB önskade väl en välkommenterad kod?
Gör denna parallellt med #115 då man vill kunna se resultatet
Lägga in favicon till static och koppla det till index.html.
Tabellerna överlappar varandra, se skärmdumpen nedan:
Tabellerna verkar vara statiska och icke rörbara vid skärmbredsförändring. Kollapsningen sker också något för sent med avseende på tabellens bredd.
Problemet uppstår vid bredden 1023 px < 1367 px. Probelmet drabbar på så vis följande skärmar:
Enligt W3Schools skulle probelemet ovan beröra 47 % av internetanvändare år 2017 (räknat på den skärmupplösning som är aktuell under 2017).
// TODO(you): code here to reproduce the problem
Det id som skickas in används inte på ett korrekt sätt och därmed får man inte ett svar.
Backend fungerar inte i IE11.
Enligt felmeddelandet tyder det på att IE11 inte stödjer Promise, så det krävs nån polyfill för att köra det i IE11.
Kanske fungerar:
Är osäker på vad som ska va med. Påbörjar dock nåt
Datum läggs in som olika format beroende på vilken dator man är på. Kommer ihåg att Simon sa att det läggs in/hämtas ut med "locale" någonting. Skulle varit bättre om det hämtades på ett standard-sätt (t ex 2017-10-15)
Nuvarande lösning med huvudmeny på vänster sida ger inte nån dynamisk skalbarhet för olika skärmtyper, t.ex. mobila plattformer eller monitorer med begränsad skärmomfång. Därför föreslås att huvudmenyn förflyttas till en navigeringsbar. Länk till dokumentationen för navbar hittas under följande länk: https://bulma.io/documentation/components/navbar/
SAAB kräver också att komponenterna ska presenteras på en och samma sida, vilket inte når användarbarhet enligt issue #7 och #10 samt ger upphov till grafisk problem enligt #16. En lösning på detta för att kringa problemet är att tillämpa tabbar för komponenterna. Dokumentation för tabbar hittas under länken https://bulma.io/documentation/components/tabs/
Följande behöver åtgärdas:
(Se lista, lägga till)
En ny komponent bör ej kunna ha approved/approvedBy när den är nyskapad då det inte finns några licenser kopplade.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.