bassoman / famn

Angular2 + FeathersJS application framework for both client and server side

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

famn

famn is an Angular2 application framework with both client side and server side integrated. I have been exploring for such an Angular2 MEAN for a while but w/o an ideal solution, so I write it.

famn stands for Feathers, Angular2, MongoDB, and Node.js

famn borrowed much from angular2-webpack-starter, @angular/material, ng2-material

IMPORTANT This project has no commercial level of support and it's suggested to use in development for quick prototype. PR is welcome to make it go further.

Features

  • Angular 2 + typescript
  • Webpack for both client and server side
  • Feathers is to provide realtime service
  • All websocket based communications
  • MongoDB and mongoose model
  • Ngrx for state management
  • HMR in development
  • Material design
  • Docker based

Development

local

# prepare environment
npm i -g nodemon ts-node typescript@2.0

# or use yarn
yarn add global nodemon ts-node typescript@2.0

# build client code
yarn run build:client:dev

# start server with webpack hmr
yarn run start:hmr

docker (recommended)

# docker way which is recommended
docker-compose -f ./docker/docker-compose.dev.yml up --build

# real time service, check the new message in message module after running below command
curl 'http://localhost:3030/messages/' -H 'Content-Type: application/json' --data-binary '{ "email": "yourname@yourdomain.com", "message": "Hello Implus" }'
  • Go to http://localhost:3030 for web

Deploy

docker-compose -f ./docker/docker-compose.prod.yml up --build -d

To do

  • ( ) CLI for project initialization
  • ( ) user authorization
  • ( ) robust material design data-table
  • ( ) charts
  • ( ) using npm package of ng2-material instead of local build
  • ( ) unit test

About

Angular2 + FeathersJS application framework for both client and server side


Languages

Language:TypeScript 79.8%Language:HTML 10.4%Language:CSS 9.3%Language:JavaScript 0.5%