Closed cadorn closed 8 years ago
Setup templates for:
at https://github.com/ide-templates to handle all tooling requirements so that project only contains dependencies actually needed by project implementation itself.
Remove react
in favour of virtual-dom
which allows modification of created DOM. i.e. it does not hoard the DOM so you can use jquery to make modifications.
meta
tags from skin (just like scripts and css files)Advanced component example: https://github.com/goodybag/lunchroom/blob/f378cc53a3a3a3faa4bc53528dcf6a693f51ff6d/components/GBL_View_Checkout/skin.app.jsx
I have a new core system/app template (tested with nodejs 4) deploying to heroku and am now porting the lunchroom app to run using the template (and getting new admin skin to work). Once that works I'll be refactoring the app to use all the features of the template at which point it will be secure, clean and reliable and all outstanding technical issues will be closed.
I hope to run you through the code and local install next week (when the app is ported and somewhat cleaned up). We can then tackle user accounts using the new framework which should make it much easier to implement and wrap up the project.
The clean app shell is pushed and deployed: https://github.com/goodybag/lunchroom-app Have not tested independent install yet. Will do so next week. Now to merging the ported app ...
Update: Skin is booting: http://gbl-deploy-stage.herokuapp.com/lunchroom.goodybag.com/?invite=E4AA8653-9AFD-41E3-A543-9D3B961E87EF
Now on to porting pages and components.
Update: First page and component (landing page) is ported and working in all browsers including IE9.
Now on to porting menu and checkout pages + components.
Update: Got a bunch of stuff ported. Hoping to have menu and checkout working again end of day tomorrow (Fri).
Testing Checklist:
@jrf0110 Update: I have the navigation, menu and checkout working again. Here is the plan for this week:
I will then be available to support anyone working on the app starting the following week.
After this week I'll continue to submit patches to refine the component and data APIs among other things until everything is straightforward and working solid. I also expect to have continuous UI testing locally and via the heroku staging pipelines working in December.
@jrf0110 The app branch is ready for an install test: https://github.com/goodybag/lunchroom.goodybag.com/tree/app
Update: Not sure if it will be ready to launch new public app on Thu (will publish admin update with timezone fix). I want to keep testing/polishing app this week to ensure it is solid and then launch new version mid next week and handover (I prefer not to launch for Monday as that is usually the busiest ordering day).
Update: Added email spam guard and re-worked email logic a bit. Porting functionality took longer than expected but is all there now. Will be tweaking a bunch of stuff tomorrow and then focusing on solid app user experience / polish.
@jrf0110 I have everything ported and will be putting it on the staging server tomorrow (Monday) for further testing. I'll be moving the email cron job from the old app to the new one on staging so we should enable the dyno to always be on for now. The UI still flashes when the components re-render. I'll be optimizing that on Monday/Tuesday. Once the app is live we can go over everything so you guys can continue dev. I will be cleaning up all issues and provide a summary of the status of everything this week.
Update: Had no power for most of the day; Launching admin update and disabling old admins tomorrow if all works. Also moving cron to admin new app and disabling cron in old app. Will then finish fast component rendering and testing and put new app on staging for further testing.
Update: Got stuck re-writing an algorithm/lib at the heart of the config system. I expect to finish it tomorrow and then continue with above.
Summarized outstanding items at: https://github.com/goodybag/lunchroom.goodybag.com/issues/4
As I implemented the lunchroom I did so using existing libraries such as
backbone
andreact
and wired them up in such a way that the whole backend and front-end can be declaratively driven.It is becoming apparent that the wiring that these higher-level libraries require is getting in the way more than helping and I hope to toss it in favour of a much cleaner solution that is JSON document and folder layout driven using a webpack plugin to hoist and export the code as I do with React/JSX now.
I am proposing on doing this work on my own time and will coordinate with you where needed. I expect a lot of this stuff to be done sooner than later as I will be actively working on the component system and cloud9 plugin.
A list of changes as they come up:
backbone
to hold all collections, models and fire on changesampersand
in favour of a simple raw data markup system