Closed peeyush-tm closed 7 years ago
:construction_worker_man: PROC G/W
:+1: ST2 workflows using
Working on forms. Needs a bit modification to allow our form types. Following field types need extra work
API integration done using https://github.com/gcanti/tcomb-form-native for forms. Completed field types
TODO integrate forms flow with existing screens handle the case for multiple form screens Adapter between our forms json to library's form object
:+1: switching between multiple form screen, screen flow integrated. :calendar: load case specific forms(in/out) :-1: BUG form data getting reset to {}.
:+1: load case specific forms(in/out) fixed BUG form data getting reset to {}. :calendar: build missing form components.
@veris-ankitpopli @veris-neerajdhiman - have a discussion about the login mechanism
Veris - an Instant App Runtime provider for all the clients - terminal and users alike.
Initial Login Screen
login id
login id
next
login id
to \authorize\
login id
is a list of id
which is global and commonid | login id | type |
---|---|---|
1 | TERM1 | terminal |
2 | pr@teramatrix.in | user |
response from the server would carry login type
using the login type
and login id
we would ask for a password
or pin
id | login id | password |
---|---|---|
1 | 1 | terminal_pin |
2 | 2 | user_pin |
we would start the onboarding
this process is just to identify the veris runtime
, type of runtime
, owner
, organization
etc
End of Login
Next
access token
to exchange dataNote - TILL NOW, there is no difference between Terminal Veris Runtime and User Veris Runtime.
Based on the BADGE, we have the membership information. Based on the BADGE, we have the widget to serve information.
BADGE => Dashboard => Single Badge => Veris Runtime Terminal BADGE => Badge Switcher => Multiple Badges => Veris Runtime User
id | Organization | Veris Runtime | widgets |
---|---|---|---|
1 | Teramatrix | TERM1 | [who are you, whom to meet] |
2 | Teramatrix | praj@teramatrix.in | [who are you, parking ticket] |
@veris-neerajdhiman @veris-ankitpopli - have updated the work details, please check and confirm that we would be able to ship these out.
Forget - ST2, Celery, Mistral, Pushpin - keep it simple. Just data exchange between some apps.
VRT
calls PROC G/W
{ "session id": null, "widget": null, "state": init}
{
"session id": "UUID",
"widget": {
"widgets": {
"w1": {
"p1": {},
"p2": {}
}
},
},
"state": "INIT"
}
basically the complete details about the widget to call, the process to call and the data required
VRT
calls PROC G/W
, taking the next: keyword from response data
{
"session id": "UUID",
"widget": {
"widgets": {
"w1": {
"p1": { data = null },
"p2": {}
}
},
},
"state": "INIT"
}
{
"session id": "UUID",
"widget": {
"widgets": {
"w1": {
"p1": { data = null , state = ERROR, action = ASK USER for DATA },
"p2": {}
}
},
},
"state": "INIT"
}
~confusing statement - the most important aspect is the "next"~ ~confusing statement - the session ID would always tell the next action~
AB- my only agenda is to ship faster. Now, to ship products faster we would need a testing platform, which can basically test all the components and workflows, and as soon all the tests are passed, ship the app to all the various platforms.
Now, separate platform builds would also mean
Now, that is a problem, somewhere, in the whole system, I have to code the same thing multiple times. If we start solving the problem, that is removing the duplicity
Next?
Still, we would need separate component rendering test suites, so as to maintain the uniformity in the rendering of the component.
Learn once and write everywhere is fine, but our use case is to ship faster than fastest.
think - rendering a standard component (eg: checkbox) with a default style, provides us the required level of abstraction, given that we keep the application logic separate from react-components.
[Done] : Resource add with APIs, a unique end point will issued to that resource and will be used by resource. [TODO] : Integrate Resource endpoints with VRT
[Done] : Plugin binding with API and overriding URL [replace complete upstream url] [No Support] - Dynamic request path not supported by kong till version 0.10 , can expect the same in next versions. For more info read https://github.com/Mashape/kong/issues/677
[In Progress] : kong integrations at API G/W, Some issue sin adding plugins fo enabling duynamic urls support.
[Done] : Issue debugging on live [RnD] : OAuth implementation @ API & Process G/W
[Done] : Session/State functionality in Process gateway .
Below are the screen-shots which explains the behaviour of execution.
[In Progress]
[RnD] : Action Runners, Mistral and tried to make Pre-Validation Hook using Python Runner .
UPDATE 🎉 crashlytics is integrated in both apps, @veris-abhinavanand with help of @veris-ankitpopli has solved all the case bugs(walkin user with invite without pass, walkin user with invite bla bla bla. 🙏 { only @veris-abhinavanand can handle it}). All set for release(waiting for shailendra's green signal, he'll do a final round of testing tomorrow morning). Next target is forms and web terminal.
😞 transpiling react-native to react-dom (considering the libraries that we need and have used) is a huge headache as of now(the stage at which react-native-web libraries are at now).
🎉 made hello world app for web using react-web (https://github.com/taobaofed/react-web) but(a big one), libraries and sqlite(would need pouch/indexed db on web) are a big challenge to solve.
P.S. react community keeps on emphasizing that react is "Learn once write anywhere" and not "Write once use everywhere", so they suggest to make common the 30-40% logic part and treat the view part differently (something like this: https://github.com/kauffecup/react-native-web-hello-world)
UPDATE 🎉 https://github.com/necolas/react-native-web is what we'll be using in the way (somewhat) mentioned in this blog: https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/ - @veris-abhinavanand tested this for forms library.
[To do] test the above library with navigation api of react native.
Week's Update 🎉 First release for the react native terminal is ready(it crashes at camera 1 in 10 times, need to handle it). Upcoming week's agenda: Integrate forms(every information input will be through a form) and make the app compatible with react-native-web and release it on 30th.
26th of December 🎉 structure architecture and integration of react-native-web in current project 📆 convert existing codebase for view to web.
30th of December @veris-abhinavanand is done with forms (a few issues with image fields). 🎉 adidas terminal is ready with printing (finally). 😞 web terminal is on the way (this is a whole new level of challenge)
P.S: Writing production code with 2 beer down is off the bucket list. 😎
Updated Work Details
@veris-ankitpopli @veris-neerajdhiman - you have put in a good effort in understanding - ST2, mistral, workflow engine, Rabbit MQ, Kong. That gives you a broader perspective of the ecosystem and possibility of building a platform, that would come in handy.
Forget about - Mistral and ST2 for some time To read - Pushpin
hello world
hello jon
hello world
Questions
Other Misc work
V2.x Work Details
@veris-abhinavanand @veris-amoghbanta
overview - speed of release is more important than optimization
crashlitics
properlyLib Abstraction - Forms
Other Misc work
Other discussions
Previous ~Work Details~
Jon
~