argonlaser / badgeit-front Goto Github PK
View Code? Open in Web Editor NEWFront service for badgeit
Home Page: http://badgeit.today/
License: MIT License
Front service for badgeit
Home Page: http://badgeit.today/
License: MIT License
For every incoming badges, if browser cache and incoming data are same, then dont rerender the view. Otherwise, alert the user that there are few more badges and upon user's action re-render it.
Also note that, when I refresh one more request for computing the badges is being queued up.
One more observation is it happens only for repos that take long time to compute.
We need to know much time does it actually require to have the results for a user.
It's optional to show these metrics for the user in the result page. But we would at least need a log statement, that will print the time on page load and the payload being received.
May be we could show a statement like "29 badges found in 2 minutes" at the bottom of the result page page. But this is not the main focus of this issue. Main focus is, we need log statements for calculating the time taken for getting the data about the badges to the browser.
Payload will contain data that resembles the following
{
"badges": [],
"error": "",
"remote": ""
}
and the badges array will contain an array of badge object which has payload equivalent to the following
{
"Name": "github release",
"ImageURL": "https://img.shields.io/github/release/scriptnull/ds.svg",
"LinkURL": "https://github.com/scriptnull/ds",
"Group": "github",
"Tags": [
"version",
"release",
"github",
"git",
"source control management",
"scm"
],
"Style": "",
"Label": ""
}
Note the Group
variable in each badges object.
This issue is about, just arranging the badges belonging to the same group under one div.
'
So the end result will look something like
UI is important part we need to iterate very consciously and incrementally in small blocks, so that we don't end up in a closed road.
We can track this as very low priority as this is only view issue. We can finish error component rendering as hig priority.,
Now we are copying the svg imageurl from the objects properly. But we have to have the proper hyperlinks from the LinkUrl property in the object in the object.
Eg;: [![GitHub license](ImageUrl)](LinkUrl)
Make sure UI of home page is production ready.
CDNs should speed up page load.
In result.html, we have both the error and badges in the object {error: error, badges: [obj1, obj2]}
.
If error is not null, render the error component instead of dynamic object divs.
http://badgeit.today/w/https://github.com/argonlaser/badgeit-front on HOME button click turned into http://badgeit.today/w/https://github.com/argonlaser/home.html .
We need a way to serve css and clientside js files. We also need to get proper tooling for this in place such as minification, concatenation etc. I think we might need to use gulp plugins to establish the tooling part
badgeit-front
UI
This is very important step that we should not be forgetting. We need to measure, how much people are trying to use the web version of badgeit. So we need to add google analytics to badgeit web version. This will help us scale the app, if there is a need for it.
We will be doing
badgeit-front
app - Already done by @argonlaserAt this point, our API won't be available to the outside world. It will only be accessible to badgeit-front
Please refer to scriptnull/badgeit#24
As a result of it, the response on this line https://github.com/argonlaser/badgeit-front/blob/master/routeHandlers/result.js#L14 is capable of returning back two extra fields, cache
and status
We should probably try to use them while rendering the result page.
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.