{"id":13704868,"url":"https://github.com/DavideViolante/Angular-Full-Stack","last_synced_at":"2025-05-05T12:32:40.480Z","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":"2024-10-13T15:32:55.000Z","size":12539,"stargazers_count":1487,"open_issues_count":8,"forks_count":667,"subscribers_count":109,"default_branch":"master","last_synced_at":"2024-11-11T15:11:43.482Z","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},"funding":{"github":["DavideViolante"],"custom":["https://www.paypal.me/dviolante"]}},"created_at":"2016-05-14T14:21:49.000Z","updated_at":"2024-11-08T21:47:56.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":null,"previous_names":[],"tags_count":4,"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":224448785,"owners_count":17313117,"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-08-02T22:00:21.812Z","updated_at":"2024-11-13T12:31:10.662Z","avatar_url":"https://github.com/DavideViolante.png","language":"TypeScript","funding_links":["https://github.com/sponsors/DavideViolante","https://www.paypal.me/dviolante"],"categories":["Javascript"],"sub_categories":[],"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","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"}