Awesome Open Source
Awesome Open Source

Angular Full Stack

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 with files watching

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 listening at localhost:3000

Manual mode

  1. Build frontend: npm run builddev for dev or npm run build for prod
  2. Build backend: npm run predev
  3. Run MongoDB: mongod
  4. Run the app: npm start

Docker

  1. sudo 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
  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 npm run testbe to execute the backend tests via Mocha (it requires mongod already running).

Running linters

Run npm run lint to execute Angular ESLint, 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



Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Typescript (247,615
Docker (97,353
Angular (54,853
Express (30,261
Mongodb (29,828
Bootstrap (27,716
Stack (16,098
Angularjs (11,945
Jwt (9,823
Linter (9,089
Mongoose (6,840
Starter Kit (4,015
Full Stack (3,645
Angular Cli (2,303
Font Awesome (2,144
Bcrypt (1,369
Mongoosejs (352