Skip to content
Angular2 + FeathersJS application framework for both client and server side
TypeScript HTML CSS JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
client
docker
.dockerignore
.editorconfig
.env
.gitignore
CHANGELOG.md
README.md
package.json
process.yml
server.ts
tsconfig.client.json
tsconfig.server.json
tslint.json
webpack.config.js
yarn.lock

README.md

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/store for state management
  • HMR in development
  • Material design
  • Docker based

Development

local

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

# or use yarn
yarn add 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 -H 'Content-Type: application/json' \
  --data-binary '{ "email": "yourname@yourdomain.com", "message": "Hello FAMN" }' \
  http://localhost:3030/messages/'

Go to http://localhost:3030 with default created user mo@po.da, password do

Deploy

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

Other commands

build

# 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

To do

  • ( ) CLI for project initialization
  • (*) user authorization
  • (*) robust material design data-table (ag-grid)
  • ( ) charts
  • ( ) unit test
You can’t perform that action at this time.