{"id":14957526,"url":"https://github.com/davideviolante/angular-full-stack","last_synced_at":"2025-05-14T07:08:08.977Z","repository":{"id":41416679,"uuid":"58811823","full_name":"DavideViolante/Angular-Full-Stack","owner":"DavideViolante","description":"Angular Full Stack project built using Angular, Express, Mongoose and Node. Whole stack in TypeScript.","archived":false,"fork":false,"pushed_at":"2025-01-22T08:41:18.000Z","size":13077,"stargazers_count":1502,"open_issues_count":8,"forks_count":668,"subscribers_count":108,"default_branch":"master","last_synced_at":"2025-05-05T12:43:49.306Z","etag":null,"topics":["angular","angular-cli","angular2","angularjs","bcrypt","boilerplate","bootstrap","docker","express","expressjs","font-awesome","full-stack","jsonwebtoken","jwt","mongodb","mongoose","mongoosejs","nodejs","starter-kit","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DavideViolante.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["DavideViolante"],"custom":["https://www.paypal.me/dviolante"]}},"created_at":"2016-05-14T14:21:49.000Z","updated_at":"2025-05-05T08:33:20.000Z","dependencies_parsed_at":"2024-01-12T21:17:22.845Z","dependency_job_id":"fd82c34a-0ca1-4479-ae62-c3f0322c22fe","html_url":"https://github.com/DavideViolante/Angular-Full-Stack","commit_stats":{"total_commits":432,"total_committers":19,"mean_commits":"22.736842105263158","dds":0.4722222222222222,"last_synced_commit":"f0bc60054470b99b96a608b51dbe5f635fe6891a"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavideViolante%2FAngular-Full-Stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavideViolante%2FAngular-Full-Stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavideViolante%2FAngular-Full-Stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavideViolante%2FAngular-Full-Stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavideViolante","download_url":"https://codeload.github.com/DavideViolante/Angular-Full-Stack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular-cli","angular2","angularjs","bcrypt","boilerplate","bootstrap","docker","express","expressjs","font-awesome","full-stack","jsonwebtoken","jwt","mongodb","mongoose","mongoosejs","nodejs","starter-kit","typescript"],"created_at":"2024-09-24T13:15:04.706Z","updated_at":"2025-05-14T07:08:08.915Z","avatar_url":"https://github.com/DavideViolante.png","language":"TypeScript","readme":"# Angular Full Stack \n[![](https://github.com/davideviolante/Angular-Full-Stack/workflows/Build/badge.svg)](https://github.com/DavideViolante/Angular-Full-Stack/actions?query=workflow%3ABuild) [![](https://github.com/davideviolante/Angular-Full-Stack/workflows/Tests/badge.svg)](https://github.com/DavideViolante/Angular-Full-Stack/actions?query=workflow%3ATests) [![Donate](https://img.shields.io/badge/paypal-donate-179BD7.svg)](https://www.paypal.me/dviolante)\n\n\nAngular 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.\n\nThis project uses the [MEAN stack](https://en.wikipedia.org/wiki/MEAN_(software_bundle)):\n* [**M**ongoose.js](http://www.mongoosejs.com) ([MongoDB](https://www.mongodb.com)): database\n* [**E**xpress.js](http://expressjs.com): backend framework\n* [**A**ngular 2+](https://angular.io): frontend framework\n* [**N**ode.js](https://nodejs.org): runtime environment\n\nOther tools and technologies used:\n* [Angular CLI](https://cli.angular.io): frontend scaffolding\n* [Bootstrap](http://www.getbootstrap.com): layout and styles\n* [Font Awesome](http://fontawesome.com): icons\n* [JSON Web Token](https://jwt.io): user authentication\n* [Angular 2 JWT](https://github.com/auth0/angular2-jwt): JWT helper for Angular 2+\n* [Bcrypt.js](https://github.com/dcodeIO/bcrypt.js): password encryption\n\n## Prerequisites\n1. Install [Node.js](https://nodejs.org) and [MongoDB](https://www.mongodb.com)\n2. Install Angular CLI: `npm i -g @angular/cli`\n3. From project root folder install all the dependencies: `npm i`\n\n## Run\n### Development mode with files watching\n`npm run dev`: [concurrently](https://github.com/kimmobrunfeldt/concurrently) execute MongoDB, Angular build, TypeScript compiler and Express server.\n\nA window will automatically open at [localhost:4200](http://localhost:4200). Angular and Express files are being watched. Any change automatically creates a new bundle, restart Express server and reload your browser.\n\n### Production mode\n`npm run prod`: run the project with a production bundle listening at [localhost:3000](http://localhost:3000) \n\n### Manual mode\n1. Build frontend: `npm run build:dev` for dev or `npm run build` for prod\n2. Build backend: `npm run predev`\n3. Run MongoDB: `mongod`\n4. Run the app: `npm start`\n\n### Docker\n1. `sudo docker-compose up`\n2. Go to [localhost:3000](http://localhost:3000)\n\n### AWS EC2\n1. Create a EC2 Linux machine on AWS\n2. Edit the EC2 Security Group and add TCP port `3000` as an Inbound rule for Source `0.0.0.0/0`\n3. Clone this repo into the EC2 machine\n4. If you use a remote MongoDB instance, edit `.env` file\n5. Run `npm ci`\n6. Run `npm run build`\n7. Run `npm start`\n8. The app is now running and listening on port 3000\n9. You can now visit the public IP of your AWS EC2 followed by the port, eg: `12.34.56.78:3000`\n10. Tip: use [pm2](https://pm2.keymetrics.io/) to run the app instead of `npm start`, eg: `pm2 start dist/server/app.js`\n\n## Preview\n![Preview](https://raw.githubusercontent.com/DavideViolante/Angular2-Full-Stack/master/demo.gif \"Preview\")\n\n## Please open an issue if\n* you have any suggestion to improve this project\n* you noticed any problem or error\n\n## Running tests\nRun `ng test` to execute the frontend unit tests via [Karma](https://karma-runner.github.io).\n\nRun `npm run test:be` to execute the backend tests via [Jest](https://jestjs.io/) (it requires `mongod` already running).\n\n## Running linters\nRun `npm run lint` to execute [Angular ESLint](https://github.com/angular-eslint/angular-eslint), [HTML linting](https://github.com/htmlhint/HTMLHint) and [SASS linting](https://github.com/sasstools/sass-lint).\n\n## Wiki\nTo get more help about this project, [visit the official wiki](https://github.com/DavideViolante/Angular-Full-Stack/wiki).\n\n## Further help\nTo get more help on the `angular-cli` use `ng --help` or go check out the [Angular-CLI README](https://github.com/angular/angular-cli/blob/master/README.md).\n\n### Author\n* [Davide Violante](https://github.com/DavideViolante)\n","funding_links":["https://github.com/sponsors/DavideViolante","https://www.paypal.me/dviolante"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavideviolante%2Fangular-full-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavideviolante%2Fangular-full-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavideviolante%2Fangular-full-stack/lists"}