Giter VIP home page Giter VIP logo

mugifly / angular-nest Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 5.0 1.27 MB

Simple web app template with Angular v18 + NestJS v9 + ng-openapi-gen / Deployable on Heroku, Render.com, Google App Engine and others (incl. Docker) / CI with GitHub Actions / Public Domain

Home Page: https://angular-nest.onrender.com

License: Creative Commons Zero v1.0 Universal

JavaScript 25.46% TypeScript 60.44% HTML 8.90% SCSS 2.92% Dockerfile 2.27%
angular docker example heroku nestjs openapi google-app-engine template npm-workspaces

angular-nest's Introduction

angular-nest

Simple web app template with Angular + NestJS + ng-openapi-gen + Angular Material.

Deployable on Heroku, Render, Google App Engine (GAE) and other hosting services using with/without Docker (learn more).

Build


Key Elements

There is some variations... https://github.com/mugifly/angular-nest/wiki#variations

  • Angular -- for Frontend app.
  • NestJS -- for Backend app.
  • ng-openapi-gen -- for API Client generation.
  • Angular Material -- for UI.
    • NOTE: There is also a vanilla branch that doesn't include Angular Material.
  • Docker -- for Production environment.
    • NOTE: Deployments without Docker are also supported.
  • Karma + Jasmine -- for Unit testing of Frontend (with Puppeteer + Headless Chromium)
  • Jest -- for Unit testing of Backend
  • GitHub Actions -- for CI
  • npm Workspaces - for Monorepo structure.

Quick Start for Development

StackBlitz

StackBlitz lets you quickly run and edit your source code in your browser.

Open in StackBlitz

Local

Before you start, you should install the following softwares:

  • Git

  • Node.js v20+

  • Visual Studio Code

Next, please Create a new repository from this repository.

Then, execute as the following in your terminal:

$ git clone [email protected]:YOUR_GITHUB_NAME/angular-nest.git
$ cd angular-nest/

$ npm install

$ npm run start:dev

Finally, open the web browser and navigate to http://localhost:4200/. Also, when you edit the frontend source-code, auto-reloading applies your changes to the browser immediately.

See the Wiki for additional information. You'll find tips for implementing database connectivity, guides for future updates, and more.


Quick Start for Deployment

This app supports direct deployment to various hosting services as a production environment.

It's also very easy to automatic-deployment, because you don't have to run the build process locally or in CI.

Deployment on Heroku

Deploy

This app can be deployed either to the Heroku stack (Node.js buildpack based) or the Container stack (Docker based).

Please see Deploy to Heroku page for more informations.

Deployment on Render

Deploy to Render

This app can be deployed either as a Node.js application or Docker based application.

Please see Deploy to Render page for more informations.

Deployment on other servers (with/without Docker)

https://github.com/mugifly/angular-nest/wiki/#Deployments


CLI Commands

Start

  • Start the development server (watch mode):   npm run dev
  • Start the production app:   npm run build && npm run start

Angular CLI & Nest CLI

  • Angular CLI (@angular/cli):   npm run ng
    • Generate component:   npm run ng -- generate component foo-bar
    • Other ng commands can also be run by typing it after npm run ng -- . See here for a list of the available commands.
  • Nest CLI (@nestjs/cli):   npm run nest
    • Generate controller:   npm run nest -- generate controller foo-bar
    • Other nest commands can also be run by typing it after npm run nest -- . See here for a list of the available commands.

Testing

  • Unit tests for frontend:   npm run test -w client   (Google Chrome and dependencies of Puppeteer required)
  • Unit tests for backend:   npm run test -w server

Install npm modules

  • Install for frontend: npm install -w client XXXXX
  • Install for backend: npm install -w server XXXXX
    (e.g. npm install -w server @nestjs/typeorm typeorm)

License and Author

This project is released under the CC0 1.0 Universal license, by Masanori Ohgita (mugifly).

Therefore, a copyright notice is NOT required. Feel free to use or copy it to your project :)

NOTE: However, some sample codes and documents (e.g. client/README.md and server/README.md) that generated by Angular CLI or Nest CLI may be based on their respective licenses.

angular-nest's People

Contributors

mugifly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.