oldboycoder / openper Goto Github PK
View Code? Open in Web Editor NEWAn updated front end to the FIAT ePer vehicle database
License: MIT License
An updated front end to the FIAT ePer vehicle database
License: MIT License
Have som esort of look up table that allows you to link to an external site from with openPER. Obviously designed for Fiat Forum but could be used for anything.
Add an how-to / Documentation on how to build to self host the service , for example on a local server or inside a docker.
Would be useful to see the impact of a modification
Also affects VIN filtering as it is anywhere where we have querystring parameters to the current page
Carrying the Scope string around is a touch error prone, typos casing etc as well as inefficient, it should be an enum
Issue occurs on drawings that have hotspot links to other drawings. For example:
https://localhost:44329/en/Drawings/Detail/F/F/CIN/83/412/1/10/0/SubSubGroup
Self explanatory
Might also consider some schema documentation too to help future maintainers
Switch static text to use resources file appropriate for the language currently selected
For example
https://openper.fiatforum.com/en/SubGroups/F/F/BAR/PK/331?MVS=183.829.0.0&VIN=ZFA18300000040598
shows 33103 for the Barchetta which isn't relevant.
There isn't a route to show the vehicles VIN based information when passed a URL such as is used in the Fiat Forum garage. Need to add a route to the NaviController
On the Drawings/Details page - in the @foreach (var h in Model.TableData.HotSpots.Values) loop - it seems that $h doesn't have access to the PartNumber variable. I need this to be able to link it up with the relevant circle :) At the moment I hardcoded one in just to check its working and it does show up ok!
It would also be nice if I could overload the URL.Action function on that page to pass the class and id instead of needed to manually add them to the link.
@Url.Action("SearchPartByPartNumber", "Part", new {Model.Navigation.Language, item.PartNumber })" [B]class="product-link" data-id="@item.PartNumber"[/B]
We created an API for this, it should be added to the front end as well
If you get to the catalogue change through the VIN search then the list of hyperlinks under 'All categories' don't carry through the MVS and VIN data
Change GetMapAndImageForCatalogue to return a DTA rather than a return value and an out parameter. Also pass this DTO on to things that need map information
Currently hard coded to Google, need to be able to set this in a config file
Just having a read of available encryption methods - would you be able to work with AES-128-CBC?
In PHP I just need to use the key and the initialisation vector (IV) - is it the same for you to decrypt?
Ok, so the cookie will be a base64 string of an (encrypted when we decide what) json encoded array.
Code:
Array {
"u" : int, // user_id
"v" : array {
vin => description // vin is the key, description is the description
},
"af" : bool // ad free, 1 or 0
}
For the advertising positions, I think we just need 4 - maybe I can put the code in the config file, which will be returned in the templates if not ad free?
ad_head (will go in the section)
ad_body (will go above the closing tag)
ad_header (somewhere at the top of the page)
ad_footer (somewhere at the bottom of the page)
And the cookie name will be xf_eper
Should be easily done in RepositoryHelper and maybe have a simple page to show statistics
Release 18 ones are fine but for r84 images the hotspots are above and left of where they should be
Code crashes as there is no sub sub group code when generating the table of links for a drawing:
https://localhost:44329/en/Drawings/Detail/F/F/SED/74/103/1/41/3/Group
Make all external links and routing work from ISO 639-1 two character codes. Internally will need to be mapped to single digit Fiat ePer codes.
Only external facing route that should accept Fiat codes is the one for ePer compatibility routing - NaviController.cs as this is used for old forum links that use single digit Fiat codes
Although out of date we should include the original price where available as an indication of cost
Bug report:
Missing:
The original "Remanufactured / Core" column is missing from the parts table list. This means that, say for Barchetta fuel injector, you do not get the recon/reman. part numbers.
A number of forum users have asked how unique their vehicle is. We could have a screen where, given a catalogue, we allow filtering by the SINCOM specification pattern to show how many vehicles match the criteria. Need to be careful on performance on this as it could be a big hit on SQL.
Could also be useful for creating a bespoke filter to be used when viewing drawings
Although of academic interest only, show the flags about part availability
For pages such as 33 Nuovo Panda (2012...) the clickable image for 1010 Crankcase.. is incorrect compared to ePer
Once VIN search is working we need to be able to filter out inappropriate drawings and parts as original ePer does
A user has reported that they like the model and chassis number search so we can add that in
As per Ben's comment, most routes should be static so can be cached
Also - I see that on the drawings detail page with the multiple images at the bottom, the selected one has the "border" class @(Model.TableData.CurrentDrawing == ix ? "border" : "") - there doesn't seem to be a variable available to do this for the cliche ones though?
We need to decide a sensible page title scheme and update all views to match. Some still just say 'Index'
Currently the google search just adds the part number to FIAT. It should use the current Make name rather than FIAT!
We're not finding the click map for some of the images.
Another bug - missing the ; after the height declaration in the PositionHtml variable.
For example. Having the controller called 'Groups' seems wrong when really it more accurately represents a singular Catalogue.
I would prefer that
https://openper.fiatforum.com/en/Groups/F/F/BAR/PK?VIN=ZFA18300000040598&MVS=183.829.0.0
be
https://openper.fiatforum.com/en/Catalogue/F/F/BAR/PK?VIN=ZFA18300000040598&MVS=183.829.0.0
This could just be done in the route attributes but t would also make sense for the code to be similarly renamed. Route attributes could be introduced for backwards compatibility
Currently we just get the standard Microsoft error page. Need something better with routing back to a sensible place
Useful to see what modifications were made to a catalogue and when they were done
When a filter is in operation we currently show anything that doesn't match the filter in a strike through type face. Should we hide them entirely? My concern would be if the filter worked incorrectly then it could be useful to see the filtered out parts.
Maybe a UI feature that toggles between showing and hiding filtered parts?
We should mention that the data is FIAT's
Looks like we found our first real big - if you search empty strings (no VIN, no part no etc) it will crash the site.
As discussed with Ben
The issue is that, when you don't have a VIN, then a lot of those values are unknown as it depends on your specific vehicle. In this case openPer will generate all combinations of the missing values to see if the part should be included. For this specific part that generates 2^14 (16,374) options that it has to evaluate the formula for. And that's just one part number, there could be many such parts.
My suggestion is that we only allow a filtered parts list if we have a VIN and MVS and not just MVS. I'll add code to the server end to enforce that which should disable any bots that are trying to use the service.
A user could try to go to a random page by mangling the URL, for instance
https://openper.fiatforum.com/en/SubSubGroups/F/F/BAR/PK/173/9
instead of
https://openper.fiatforum.com/en/SubSubGroups/F/F/BAR/PK/104/9
openPER should, perhaps try to naviagate back to the last sensible page so
https://openper.fiatforum.com/en/Groups/F/F/BAR/PK
in this example. In the event of nothing sensible being found then some standard error page
Current VIN search uses the original ePer files. Would be better if these were moved on to DB. Also need to parse out properly the model specific data from the VIN files.
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.