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.
- 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/store for state management
- HMR in development
- Material design
- Docker based
# prepare environment
npm i nodemon ts-node [email protected]
# or use yarn
yarn add nodemon ts-node [email protected]
# build client code
yarn run build:client:dev
# start server with webpack hmr
yarn run start:hmr
# 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 -H 'Content-Type: application/json' \
--data-binary '{ "email": "[email protected]", "message": "Hello FAMN" }' \
http://localhost:3030/messages/'
Go to http://localhost:3030
with default created user [email protected]
, password do
docker-compose -f ./docker/docker-compose.prod.yml up --build -d
# build client for dev
yarn run build:client:dev
# build client for prod
yarn run build:client:prod
# build client with AOT for prod
yarn run build:client:aot:prod
# build server for prod
yarn run build:server:prod
- ( ) CLI for project initialization
- (*) user authorization
- (*) robust material design data-table (ag-grid)
- ( ) charts
- ( ) unit test