Awesome Open Source
Awesome Open Source

Angular Full Stack

Dependencies Donate

Angular Full Stack is a project to easly get started with the latest Angular using a real backend and database. Whole stack is in TypeScript, from frontend to backend, giving you the advantage to code in one single language throughout the all stack.

This project uses the MEAN stack:

Other tools and technologies used:

Prerequisites

  1. Install Node.js and MongoDB
  2. Install Angular CLI: npm i -g @angular/cli
  3. From project root folder install all the dependencies: npm i

Run

Development mode

npm run dev: concurrently execute MongoDB, Angular build, TypeScript compiler and Express server.

A window will automatically open at localhost:4200. Angular and Express files are being watched. Any change automatically creates a new bundle, restart Express server and reload your browser.

Production mode

npm run prod: run the project with a production bundle and AOT compilation listening at localhost:3000

Docker

  1. docker-compose up
  2. Go to localhost:3000

AWS EC2

  1. Create a EC2 Linux machine on AWS
  2. Edit the EC2 Security Group and add TCP port 3000 as an Inbound rule for Source 0.0.0.0/0
  3. Clone this repo into the EC2 machine
  4. If you use a remote MongoDB instance, edit .env file
  5. Run npm ci
  6. Run npm run build or npm run buildprod
  7. Run npm start
  8. The app is now running and listening on port 3000
  9. You can now visit the public IP of your AWS EC2 followed by the port, eg: 12.34.56.78:3000
  10. Tip: use pm2 to run the app instead of npm start, eg: pm2 start dist/server/app.js

Preview

Preview

Please open an issue if

  • you have any suggestion to improve this project
  • you noticed any problem or error

Running tests

Run ng test to execute the frontend unit tests via Karma.

Run ng e2e to execute the end-to-end tests via Protractor.

Run npm run testbe to execute the backend tests via Mocha (it requires mongod already running).

Running linters

Run npm run lint to execute TS linting, HTML linting and SASS linting.

Wiki

To get more help about this project, visit the official wiki.

Further help

To get more help on the angular-cli use ng --help or go check out the Angular-CLI README.

Author


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (11,196
nodejs (3,738
docker (2,852
angular (1,296
mongodb (794
bootstrap (668
boilerplate (623
express (482
jwt (399
angularjs (271
angular2 (233
expressjs (204
starter-kit (177
mongoose (170
angular-cli (89
full-stack (81
font-awesome (56
jsonwebtoken (24
bcrypt (21