Skip to content

Latest commit

 

History

History
67 lines (43 loc) · 2.31 KB

README.md

File metadata and controls

67 lines (43 loc) · 2.31 KB

Blog

This blog application is a mega-app that is built using a micro-app architecture. Each page (post, photo, profile) is a micro-app that uses expressjs, browserify, handlebars & sass. These micro-apps share other micro-apps like header. Each micro-app is published as a npm module at npmjs.com from where it is installed into the mega app.

The modular architecture is inspired from See-Eat-Sleep/AppUp and Condé Nast Traveler.

Micro Apps used:

  1. core
  2. header
  3. homepage
  4. post
  5. photo
  6. profile

How to run

  1. Clone the blog repo:

     git clone [email protected]:gautamarora/blog.git
    
  2. Install dependencies:

     cd blog
     npm install
    
  3. Run the app:

     npm start
    

Now go to localhost:3000 to see the sample blog app

How to dev

For development, its easiest to softlink all the dependencies to local folders for the microapp dependencies, here is how:

  1. Clone all the microapp dependency repos:

     git clone [email protected]:gautamarora/core.git
     git clone [email protected]:gautamarora/header.git
     git clone [email protected]:gautamarora/homepage.git
     git clone [email protected]:gautamarora/post.git
     git clone [email protected]:gautamarora/photo.git
     git clone [email protected]:gautamarora/profile.git
    
  2. Install dependencies for all the above repos by running this command in each of them:

     npm install
    
  3. Create softlinks for all the dependencies by running this command in each of them:

     npm link
    
  4. Now go back to the blog repo and softlink it to the locally cloned repos:

     npm link core
     npm link header
     npm link homepage
     npm link post
     npm link photo
     npm link profile
    
  5. Now you can make edits to any microapp locally, and the changes will be reflected when you run the blog app:

     npm start
    

Live Examples

www.gautamarora.com