Angular Nest

screenshot of Angular Nest
angular
nestjs

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

Overview

The Angular-Nest template is a simple web app template that combines Angular, NestJS, ng-openapi-gen, and Angular Material. This template can be deployed on various hosting services such as Heroku, Render, and Google App Engine. It supports both Docker and non-Docker deployments.

Features

  • Angular: Frontend framework for building the user interface of the web app.
  • NestJS: Backend framework for building the server-side application logic and APIs.
  • ng-openapi-gen: API client generation tool for consuming APIs in the Angular app.
  • Angular Material: UI component library for building visually appealing and responsive UIs.
  • Docker: Production environment setup for containerized deployments.
  • Karma + Jasmine: Unit testing framework for testing the frontend code.
  • Jest: Unit testing framework for testing the backend code.
  • GitHub Actions: Continuous Integration (CI) tool for automating build and test processes.
  • npm Workspaces: Monorepo structure for managing frontend and backend code in a single repository.

Local

  1. Install the following software:
    • Git
    • Node.js v16+
    • Visual Studio Code
  2. Create a new repository from the Angular-Nest template repository.
  3. Open your terminal and execute the following commands:
    git clone <repository_url>
    cd <cloned_repository_directory>
    
  4. Finally, open your web browser and navigate to http://localhost:4200/ to access the web app. Auto-reloading is enabled, so any changes made to the frontend source code will be immediately applied in the browser.

Deployment

The Angular-Nest template supports easy deployment to various hosting services. Here are the deployment instructions for some popular options:

Heroku

  • For Node.js-based deployment: https://github.com/mugifly/angular-nest/wiki/#Deployments
  • For Docker-based deployment: https://github.com/mugifly/angular-nest/wiki/#Deployments

Render

  • For Node.js-based deployment: https://github.com/mugifly/angular-nest/wiki/#Deployments
  • For Docker-based deployment: https://github.com/mugifly/angular-nest/wiki/#Deployments

Other Servers (with/without Docker)

Refer to the official documentation for detailed instructions on deploying the Angular-Nest template to other servers with or without Docker.

Summary

The Angular-Nest template is a versatile web app template that combines Angular and NestJS to provide a comprehensive solution for building modern web applications. With support for ng-openapi-gen and Angular Material, it simplifies the development process by automatically generating API clients and providing ready-to-use UI components. The template can be easily deployed on popular hosting services like Heroku and Render, with support for both Docker and non-Docker environments. Overall, it offers a powerful and scalable development environment for creating high-quality web applications.

angular
Angular

Angular is a TypeScript-based open-source framework by Google for building dynamic single-page applications and cross-platform mobile apps with MVC architecture and a rich set of features.

nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

template
Templates & Themes

A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.