Axcess is an end-to-end system, where the end users (Customers) are people who would like to order products from different merchants, then go there and pick up the order. Such order is facilitated through a Customer mobile Application, where Customers can see different Partner Merchants and their inventory, create an order and pay for it on their mobile device. Merchants are able to maintain their portfolio and inventory of products through the Merchant web-based application, where they can see past and new orders coming from the Customer mobile Application.
/build (created on the fly)
/server
/common
/client
/app
/content
brew install nodechoco install nodejsnpm install -g node-inspector bower gulpnpm installnpm install will install these too, but you can do it manually.
bower installRuns locally, no database required.
To attach mongodb set NODE_ENV=mongo env variable ad create config.mongo.json in the server directory with the required data.
The config wont be committed into git since it in .gitignore
The dev build does not optimize the deployed code. It simply runs it in place. You can run a dev build in multiple ways.
####Option 1 - Serve
Type gulp serve-dev and browse to http://localhost:7300
####Option 2 - Serve and Debug Node
Type gulp serve-dev-debug and browse to http://localhost:3000 for the client and http://localhost:8080/debug?port-5858 to debug the server.
####Option 3 - Serve and Debug Node Breaking on 1st Line
Type gulp serve-dev-debug-brk and browse to http://localhost:3000 for the client and http://localhost:8080/debug?port-5858 to debug the server.
The staging build is an optimized build. Type gulp serve-stage and browse to http://localhost:3000
The optimizations are performed by the gulp tasks and include the following list. See the gulpfile.js for details
Type gulp test to run the tests including both unit and midway tests (spins up a server). This will create a watch on the files, with a 5 second delay, to run the tests.
Testing uses karma, mocha, chai, sinon, ngMidwayTester libraries.
The app is quite simple and has 1 main routes:
The app has 4 feature modules and depends on a series of external modules and custom but cross-app modules
app --> [
app.merchant,
app.layout,
app.widgets,
app.core --> [
ngAnimate,
ngRoute,
ngSanitize,
blocks.exception,
blocks.logger,
blocks.router
]
]
Core modules are ones that are shared throughout the entire application and may be customized for the specific application. Example might be common data services.
This is an aggregator of modules that the application will need. The core module takes the blocks, common, and Angular sub-modules as dependencies.
Block modules are reusable blocks of code that can be used across projects simply by including them as dependencies.
The blocks.logger module handles logging across the Angular app.
The blocks.exception module handles exceptions across the Angular app.
It depends on the blocks.logger module, because the implementation logs the exceptions.
The blocks.router module contains a routing helper module that assists in adding routes to the $routeProvider.
Install globally
npm install -g node-inspector
Run server, load it in the browser
node-debug server/server.js
This loads http://localhost:8080/debug?port-5858 with the node code in the Chrome debugger
Run the server with options, and debug
node --debug=5858 server/server.js & node-inspector
Or
node-inspector & node --debug server/server.js
Run the server and have it break on the first line of code
node-inspector & node --debug-brk server/server.js
Or run node-inspector in a separate Terminal tab. You can keep it running and just serve and shutdown your site as needed
Alternative to running node-inspector in its own tab is to use gulp-shell
gulp.src('', {read: false})
.pipe(plug.shell(['node-inspector']));
Run gulp serve-dev-debug or gulp serve-dev-debug-brk to debug node via the Gulp tasks in this project.
Content type
Image
Digest
Size
332.4 MB
Last updated
over 10 years ago
docker pull cabsolutely/axcessapi