|
|
|
@ -62,11 +62,12 @@
|
|
|
|
|
both the REST api and the frontend SPA to that used the |
|
|
|
|
REST api. The REST api was kept separate so that the |
|
|
|
|
project could actually run separate seamlessly |
|
|
|
|
integrated SPAs for each role it was trying to fill. I |
|
|
|
|
designed the dev environment to be quickly and easily |
|
|
|
|
rebuilt and deployed since I would be handing it off to |
|
|
|
|
other devs to maintain. The build process is designed |
|
|
|
|
to ensure optimized page loads and help with |
|
|
|
|
integrated SPAs for each role it was trying to fill. |
|
|
|
|
</p> |
|
|
|
|
<p>I designed the dev environment to be quickly and |
|
|
|
|
easily rebuilt and deployed since I would be handing it |
|
|
|
|
off to other devs to maintain. The build process is |
|
|
|
|
designed to ensure optimized page loads and help with |
|
|
|
|
cross-browser compatibility,while allowing for the |
|
|
|
|
latest libraries and language improvements to be used. |
|
|
|
|
Deploying is fast and easy as well as easily |
|
|
|
@ -80,16 +81,18 @@
|
|
|
|
|
Isomorphic rendering provides fast load times and |
|
|
|
|
ensures search engines can index the public content. |
|
|
|
|
Users authenticate with their AzureAD user via OpenID |
|
|
|
|
Connect. Express was used to build out the REST |
|
|
|
|
endpoints for the API mySQL is used via Sequelize.js |
|
|
|
|
ORM. Secured endpoint authorize users based on their |
|
|
|
|
user roles and ownership/roles assigned to different |
|
|
|
|
pages/groupings taking into account assigned roles of |
|
|
|
|
parent groupings. The development environment is run |
|
|
|
|
in vagrant with virtual box and babel and weback were |
|
|
|
|
used to compile and bundle the front end code. The app |
|
|
|
|
runs on ephemeral ec2 instances and deployed to AWS |
|
|
|
|
Elastic Beanstalk to allow for scalability.</p> |
|
|
|
|
Connect. </p> |
|
|
|
|
<p>Express was used to build out the REST endpoints for |
|
|
|
|
the API mySQL is used via Sequelize.js ORM. Secured |
|
|
|
|
endpoint authorize users based on their user roles and |
|
|
|
|
ownership/roles assigned to different pages/groupings |
|
|
|
|
taking into account assigned roles of parent groupings. |
|
|
|
|
</p> |
|
|
|
|
<p>The development environment is run in vagrant with |
|
|
|
|
virtual box and babel and weback were used to compile |
|
|
|
|
and bundle the front end code. The app runs on |
|
|
|
|
ephemeral ec2 instances and deployed to AWS Elastic |
|
|
|
|
Beanstalk to allow for scalability.</p> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<h3>Payzoom Econosystem Platform</h3> |
|
|
|
@ -116,12 +119,12 @@
|
|
|
|
|
QuickBooksOnline. Implemented some of the user |
|
|
|
|
interface views including allocating overtime and |
|
|
|
|
attaching files to reports/allocations and the |
|
|
|
|
associated backend. While working on the project I |
|
|
|
|
improved the dev environment from one that required 2 |
|
|
|
|
days for a developer to build a permanent virtualbox |
|
|
|
|
image to an ephemeral environment in Vagrant that could |
|
|
|
|
be thrown away and recreated in less than 20 |
|
|
|
|
minutes.</p> |
|
|
|
|
associated backend.</p> |
|
|
|
|
<p>While working on the project I also improved the dev |
|
|
|
|
environment from one that required 2 days for a |
|
|
|
|
developer to build a permanent virtualbox image to an |
|
|
|
|
ephemeral environment in Vagrant that could be thrown |
|
|
|
|
away and recreated in less than 20 minutes.</p> |
|
|
|
|
<h4>Technologies Used</h4> |
|
|
|
|
<p>Vagrant Payzoom was built with NodeJS and MySQL on |
|
|
|
|
the backend and a custom built javascript frontend. |
|
|
|
@ -159,7 +162,7 @@
|
|
|
|
|
code necessary to facilitate iOS push |
|
|
|
|
notifications.</p> |
|
|
|
|
<h4>Technologies Used</h4> |
|
|
|
|
<p>This was before phonegapp was very far along use so |
|
|
|
|
<p>This was before phonegapp/cordova was very far along, so |
|
|
|
|
they decided to build a custom wrapper app that wrapped |
|
|
|
|
the webview and exposed the phone APIs to the website |
|
|
|
|
via messages sent betwewn javascript and the Objective |
|
|
|
|