When buying a car, you usually see only half of it because 62% of 2nd-hand market cars in Europe have a hidden history.
To solve the problem with hidden history, we have developed product Myvin.eu which is a used vehicle history report service. System gathers data from various suppliers, analyzes them and provides users with report and suggestions on particular vehicle.
In this talk I will describe the product concept and show the current and future architecture of the system.
Viktors is senior full stack software developer, with focus on technical solution research and new technology analysis. Currently he is developing software using C#, ASP.NET, SQL, MS Azure and front-end frameworks such as AngularJS, RiotJS, KnockoutJS.
2. Myvin.eu komanda
Par komandu:
• Komanda sastāv no 4 cilvēkiem
• 2 no tiem ir auto industrijas eksperti un 2 ir IT nozares eksperti
Par mani:
• Vairāk nekā 8 gadu pieredze IT jomā
• Pamatā strādāju ar ASP.NET tehnoloģiju
• Šobrīd strādāju par arhitektu/programmētāju pie Myvin.eu produkta
un IF P&C Insurance Latvia par full-stack programmētāju
3. 62%
saskaras ar problēmām
pirmajā gadā pēc
pirkuma
Consumer Markets Scoreboard, an annual evaluation of the European Commission, 2015
27 000 000
lietotu transportlīdzekļu tirgus ES
€ 4 miljardi
pircēju ikgadējie zaudējumi ES
16. Izmantotās tehnoloģijas
• ASP.NET
• ServiceStack v3
• SQL Server
• Entity Framework 6
• Microsoft Azure
• Windows Service
• SendGrid
• AngularJS 1.4.3
• wkhtmltopdf
• Google Analytics
17. Arhitektūras trūkumi
• Grūti mērogot (scale) atsevišķas sistēmas daļas
• Datu atlase notiek web pieprasījuma ietvaros
• Jāsaprot, vai SQL Server ir piemērotākā DB šim risinājumam
• UX ir jāuzlabo, jo klientam jāgaida, kamēr tiks atlasīti visi dati
• Technical debt
19. Izmantotās tehnoloģijas
• ASP.NET Core 1.0
• Web API
• SignalR
• Entity Framework Core
• SQL Server vai Azure DocumentDB
• Azure Sevice Bus
• Azure Web Job
• Azure Blob Storage
• Azure Application Insights
• Angular 2 + TypeScript
• SendGrid
• wkhtmltopdf
• Google Analytics
20. Arhitektūras uzlabojumi
• Katra sistēmas daļa ir atsevišķi mērogojama gadījumā, ja pieaug
noslodze
• Datu atlase notiek asinhroni, izmantojot ziņojumu (messaging)
infrastruktūru
• Uzlabots UX ar SignalR palīdzību
• Ar refactoring palīdzību pakāpeniski novērsts technical debt
23. Produkta priekšrocības
• Lietotājam draudzīga, vienkārša un responsīva mājas lapa
• Vienkārša un saprotama produkta izvēle
• Viens kodolīgs pārskats, kas satur informāciju par transportlīdzekli no dažādām
valstīm
• Nav nepieciešams reģistrēties, lai iegādātos produktu
• Datu pārbaude pirms pirkuma veikšanas, lai izvairītos no situācijas, kad klients
nesaņem gaidīto informāciju
• Pārskata veidošanā ir iestrādāti algoritmi, kas analizē datus un parāda lietotājam
ieteikumus par konkrētu transportlīdzekli
• Sistēmas veidošanā izmantotas jaunākās tehnoloģijas
Editor's Notes
Labdien, mans vārds ir Viktors un šodien es Jums pastāstīšu par produktu Myvin, kas piedāvā iegūt informāciju par Jūsu vai kāda cita transportlīdzekļa iepriekšējo ekspluatācijas vēsturi. Mēs esam Latvijas start-up uzņēmums un darbojamies auto un IT sfērās.
Paceliet rokas tie, kas ir pirkuši lietotu auto pēdējo gadu laikā!
Cik no jums saskārās ar tehniskām problēmām pirmā gada laikā pēc pirkuma?
Cik no jums pirms iegādes pārbaudīja auto vēsturi un/vai tehnisko stāvokli?
4 milj. zaudējumi rodas dēļ tā, ka pircējs saņem nepatiesu informāciju par transportlīdzekļa vēsturi. Pircējs vai nu pārmaksā par transportlīdzekli vai nu viņam rodas lieli remonta izdevumi.
Lai patērētājiem dotu iespēju sevi pasargāt no šīm problēmām un dot iespēju pārbaudīt transportlīdzekļa vēsturi pirms tās iegādes, mēs esam izveidojuši sistēmu Myvin, kur ievadot transportlīdzekli identificējošus datus un veicot apmaksu, ir iespējams tikt pie transportlīdzekļa vēstures pārskata.
Šobrīd mēs iegūstam datus no 4 valstīm un piecām dažādām datu bāzēm. Produkts, kas ir veidots pēc MVP koncepta, ir palaists darbībā Latvijā un uz doto brīdi ir veikti 129 pirkumi.
Mūsu esošie un potenciālie partneri. No transportlīdzekļu reģistriem, ir iespējams iegūt informāciju par transportlīdzekļa pamatdatiem, vēsturiskiem nobraukumiem, īpašnieku maiņām. No līzinga kompānijām, auto dīleriem un servisu ķēdēm var iegūt datus par apkopēm un remontiem. No apdrošinātājiem var iegūt datus par ceļu satiksmes negadījumiem un izmaksātajām summām. No policijas reģistriem var noskaidrot, vai transportlīdzeklis nav izsludināts meklēšanā.
Ja mēs skatāmies uz produkta izplatīšanas kanāliem, tad primāri, tie būs specializētie tirdzniecības auto tirdzniecības portāli, līdzīgi kā mūsu vietējais ss.lv, kurus var atrast jebkurā valstī. Tās ir tās vietas, kur ar reklāmu mēs tieši varam sasniegt savu mērķauditoriju.
Pārskata piemērs. Lietuvieši kārtīgi pacentušies - odometra rādījums samazināts par 184 240 km.
Links: https://www.myvin.eu/historyReport/vnu220
Piemērs no cita transportlīdzekļa par negadījumiem.
Es izvēlējos šīs tehnoloģijas, jo, kā jau iepriekš minēju, man ir vislielākā pieredze darbā ar MS tehnoloģijām - ASP.NET, SQL Server, Entity Framework.
Izvēlējos Azure, jo MS piedāvā BizSpark programmu start-up uzņēmumiem.
Pārējās tehnoloģijas izvēlējos, jo vēlējos pamēģināt kaut ko jaunu, ar ko iepriekš nebiju strādājis, piemēram, AngularJS.
Izstrādes laikā bija problēmas ar wkhtmltopdf tehnoloģiju, jo ir gadījumi, kas PDF fails netiek uzģenerēts līdz galam korekti.
MS Azure reizēm ir stabilitātes problēmas, jo ir bijuši gadījumi, kad VM bija pārstājusi strādāt un to nācās manuāli restartēt.
Piemēram, nevar mērogot front-end daļu un back-end daļu atsevišķi.
Pēc šīs arhitektūras ieviešanas es uzzināju vairāk par MS Azure platformu, iemācījos strādāt ar AngularJS un man radās idejas kā uzlabot arhitektūru. Pašreizējās arhitektūras galvenais pluss – vienkāršība.
Arhitektūras otrās versijas prototips.
Šīs tehnoloģijas tika izvēlētas, jo man ir pieredze ar lielāko daļu no tām, kā arī vēlējos izmēģināt jaunas tehnoloģijas.
Esmu programmēšanas entuziasts un patīk izmantot jaunākās tehnoloģijas, kas ir pieejamas uz doto brīdi.
Ziņojumu infrastruktūras priekšrocība ir tāda, ka datu atlases pieprasījums tiks apstrādāts asinhroni un kļūdas gadījumā tiks atkārtoti mēģināts apstrādāt šo pieprasījumu.