Skip to content

igaro/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Igaro App http://app.igaro.com

Codeship Status for igaro/app

Igaro App is a web-app (SPA+) architecture using native ES5/6/7 JavaScript.

It was written in 2014 by Andrew Charnley, UK contractor, who became despondent with learning various frameworks (i.e Angular 1) only to hit walls using them in real-life applications. Since then several frameworks have come and gone, but the architecture behind Igaro App is still rock solid.

As of 2022 this framework is still very much in use and will gradually be updated with some of the good stuff since 2014.

Zero Smell

  • No callbacks (unless converting into a Promise).
  • No global object on window.* - very secure!
  • Bubble up error handling
  • 100% modularity.
  • 100% locale ready with support for multiple language, country and currency.
  • 100% JavaScript. 0% HTML. A true SPA!

Repo = App = Live Demo

This repository is a fully featured SPA you'll soon have running on your local machine and which is continuously deployed to: http://app.igaro.com. It is also the foundation used in a commercial product https://www.igaro.com where you can see Igaro App's flexibility in action by way of features like the website's e-commerce shopping cart.

Igaro App is just "plain old object orientated JavaScript", with some easy to use spice to tie it's highly modular architecture together (read about Bless if you want a taste!).

By reading some of the documentation and using your natural inquisitiveness you'll quickly get to grips and be on your way.

Documentation

All modules are comprehensibly documented in the /modules section within the app and also inline via JSDoc.

Install & Build

Ensure you have Node 16.0 or newer installed.

install the dependencies;

npm i

A NodeJS script builds the system using recipes (i.e develop, deploy). It supports Babel. To list the available recipes use;

./build.js

To use the 'devel' recipe, launch a web server on localhost:3006, and watch for file changes as you work use;

./build.js --recipe=devel --serve=3006 --watch

History

###1.5.1

  • Bug fixes to country, currency and language for auto detection
  • Both #/ and pushState support with auto url redirect
  • Google Bot 404 redirect
  • Many css tweaks for many modules
  • Bug fixes for many instance modules
  • Updated test, build scripts

###1.5

  • Full GetText language translation support
  • new native build system (requires Node 5.8+) for spectacular speed. Grunt removed
  • split configuration files in prep for removing demo files from the core (1.6)
  • documentation improvements including event lists

###1.4

  • core.router -> IE8+ support, URL object support, relative navigation
  • instance.amd -> detailed loading feedback
  • [browser] fixes for IE8+
  • font.glyph.awesome -> included!
  • core.url -> supports a URL object which can be passed to the router
  • instance.amd -> add module and app version support to module request

About

Igaro App - SPA/Web App - JavaScript Architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published